Php Mysqli准备的语句获取\u数组
我试图让下面的代码工作,但它不工作,给我下面的错误Php Mysqli准备的语句获取\u数组,php,prepared-statement,Php,Prepared Statement,我试图让下面的代码工作,但它不工作,给我下面的错误 Fatal error: Call to a member function bind_param() on a non-object in 有没有办法用准备好的语句获取数组 if (move_uploaded_file($_FILES['file_to_upload']['tmp_name'], $final_uploads_location)) { $stmt =
Fatal error: Call to a member function bind_param() on a non-object in
有没有办法用准备好的语句获取数组
if (move_uploaded_file($_FILES['file_to_upload']['tmp_name'], $final_uploads_location))
{
$stmt = $mysqli->prepare("select * from test where `username` = ? and `age` = ? ");
$stmt->bind_param('ss', $username, $age);
$stmt->store_result();
$stmt->execute();
if($stmt->num_rows < 1)
{
$insert = $mysqli->prepare("insert into `test`(`username`, `age`, ) values(?,?)");
$insert->bind_param('ss', $username, $age);
$insert->execute();
}
else
{
$check = mysqli_fetch_array($stmt);
global $identity;
}
}
if(移动上传的文件($上传文件['file\u to\u upload']['tmp\u name'],$final\u uploads\u位置))
{
$stmt=$mysqli->prepare(“从测试中选择*,其中`username`=?和`age`=?”;
$stmt->bind_参数('ss',$username,$age);
$stmt->store_result();
$stmt->execute();
如果($stmt->num_行<1)
{
$insert=$mysqli->prepare(“插入到'test'('username','age',)值(?,)”;
$insert->bind_参数('ss',$username,$age);
$insert->execute();
}
其他的
{
$check=mysqli\u fetch\u数组($stmt);
全球美元身份;
}
}
您在准备()后查询return false。这意味着您的查询有错误:未定义的字段、不存在的表或其他内容。尝试在数据库上执行精确的查询。
我认为这是给你一个数据库错误
可能您的$mysqli->prepare返回了一个“False”值。
这样,您就可以尝试在不存在的布尔数据类型上调用“bind_param”函数。$stmt->bind_param(“s”,$username)
一次只尝试一个。。。您可以一个接一个地绑定每个语句。
然后执行查询
看这里好吧,但即使我用它来工作,mysqli_fetch_数组也会有麻烦。如何使用准备好的语句获取数组?@MarkLubo,查询后探索