0

我试图让下面的代码工作,但它不工作并给我下面的错误

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;
                    }
            }
4

3 回答 3

0

准备后查询返回 false (mysqli::prepare)。这意味着您的查询有错误:未定义的字段,不存在的表或其他东西。

于 2013-05-20T01:11:12.490 回答
0

尝试在您的数据库上执行准确的查询。我认为它给你一个数据库错误。

也许你的 $mysqli->prepare 返回一个“False”值。通过这种方式,您尝试在不存在的布尔数据类型上调用“bind_param”函数。

于 2013-05-20T01:16:44.533 回答
0

$stmt->bind_param("s", $username);

一次只尝试一个......你一个接一个地绑定每个语句。然后执行查询。

看这里这里

于 2013-05-20T01:19:47.343 回答