2014-01-19 71 views
-2

我得到这个查询我的表中插入一行,但它给这个错误准备好的声明致命错误非对象

Fatal error: Call to a member function bindParam() on a non-object in */misc/php/process.php on line 35

代码:

$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(); 
+0

它看起来并不像你曾经接受过关于SO的问题的答案。如果您对问题的答案有帮助,请选择最合适的答案,然后单击答案左侧的复选标记,并在投票箭头下方将其标记为已接受。这也会给你一些声望点。如果你还没有参加巡回演唱会,请在这里查看:http://stackoverflow.com/tour – m59

+0

哦,对不起,我没有参加巡回演唱会,现在我有。感谢您通知我。 – user2092398

回答

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)"); 

,但你是不是在找一个结果,而只是一个事先准备好的声明,所以按照上面我举的例子。