准备好的声明致命错误非对象

时间:2014-01-19 02:49:50

标签: php prepared-statement

我有这个查询在我的表中插入一行,但它给出了这个错误

  

致命错误:在第35行的* / misc / php / process.php中的非对象上调用成员函数bindParam()

代码:

$query =  mysqli_query($conn, "INSERT INTO pm     (van,naar,status,admin,onderwerp,tijd,bericht)   VALUES(:van,:naar,:status,:admin,:onderwerp,:tijd,:bericht)");
    $stmt = $conn->prepare($query);
    $stmt->bindParam(':van', $van); //<-- line 35
    $stmt->bindParam(':naar', $naar);
    $stmt->bindParam(':status', $status);
    $stmt->bindParam(':admin', $admin);
    $stmt->bindParam(':onderwerp', $onderwerp);
    $stmt->bindParam(':tijd', $tijd);
    $stmt->bindParam(':bericht', $bericht);
$stmt->execute();
$stmt->close();

1 个答案:

答案 0 :(得分:0)

您的代码应为:

$query = "INSERT INTO pm (van,naar,status,admin,onderwerp,tijd,bericht) VALUES(:van,:naar,:status,:admin,:onderwerp,:tijd,:bericht)";

$stmt = $conn->prepare($query);

这一行:

$query =  mysqli_query($conn, "INSERT INTO pm (van,naar,status,admin,onderwerp,tijd,bericht) VALUES(:van,:naar,:status,:admin,:onderwerp,:tijd,:bericht)");

实际上是用该语句查询数据库。它会更有意义:

$result =  mysqli_query($conn, "INSERT INTO pm (van,naar,status,admin,onderwerp,tijd,bericht) VALUES(:van,:naar,:status,:admin,:onderwerp,:tijd,:bericht)");

但你不是在寻找一个结果,而只是一个准备好的陈述,所以按照上面的例子。