php 写入数据库时Call to a member function bind_param() on a non-object,急,求解
$sql="insertintouser(username,password,question,answer,sex,birth,Email,phonenum,randc...
$sql="insert into user (username,password,question,answer,sex,birth,Email,phonenum,randcode,level) values(?,?,?,?,?,?,?,?,?,?)";
$regin->mysqli_stmt=$regin->mysqli->prepare($sql);
$regin->mysqli_stmt->bind_param("sssssssssi",$username,$password,$question,$answer,$sex,$birth,$email,$phonenum,$randcode,$level);
看了一个下无了就是早不到原因
$regin->mysqli_stmt->bind_param("ssssss....这一行就是报错,核对了数目,根本就没错,逗号也没漏
Call to a member function bind_param() on a non-object
而且用MySQL 5.6 Command Line Client - Unicode写入成功了
insert into user (username,password,question,answer,sex,birth,Email,phonenum,randcode,level) values('test','test','test','test','test','2014-7-17','test','test','test',1)
其它的都是text型,只有birth是date和level是int型的
是我之前进行了读取,导致问题出现了在读取数据使用完成后再使用
$regin->mysqli_stmt->free_result();
进行释放,就可以了 展开
$regin->mysqli_stmt=$regin->mysqli->prepare($sql);
$regin->mysqli_stmt->bind_param("sssssssssi",$username,$password,$question,$answer,$sex,$birth,$email,$phonenum,$randcode,$level);
看了一个下无了就是早不到原因
$regin->mysqli_stmt->bind_param("ssssss....这一行就是报错,核对了数目,根本就没错,逗号也没漏
Call to a member function bind_param() on a non-object
而且用MySQL 5.6 Command Line Client - Unicode写入成功了
insert into user (username,password,question,answer,sex,birth,Email,phonenum,randcode,level) values('test','test','test','test','test','2014-7-17','test','test','test',1)
其它的都是text型,只有birth是date和level是int型的
是我之前进行了读取,导致问题出现了在读取数据使用完成后再使用
$regin->mysqli_stmt->free_result();
进行释放,就可以了 展开
展开全部
依 Call to a member function bind_param() on a non-object 是因为$regin>mysqli_stmt 这个对象错误了, 也就是$regin->mysqli->prepare($sql);在这一句返回的不是statement对象, 而是prepare时发生错误返回了false, 所以下面那句就会接着出错, 你可以试试debug输出下执行prepare时发生的错误, 可以用mysqli_error($link)之类的方法输出错误的原因, $link 就是你连接mysqli的资源, 或者一般有数据库错误之类的会有日志记录, 看看你服务器的mysql有没有开启日志记录, 然后找到日志里面查看数据库报错原因
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |