2015-01-03 34 views
0

這裏失敗是我的代碼:的mysqli - 準備無緣無故

$mysqli = mysqli_connect('localhost',DB_USER,DB_PASSWORD,DB_NAME); 
$mysqli->set_charset("utf8"); 

$STH = $mysqli->prepare("INSERT INTO wp_kfar_categories_matching (inMate, outMate, categoryId, agesId) VALUES (?, ?, ?, ?)"); 

    echo $mysqli->error; 

    $STH->bindParam("iiii", $in, $out, $categoryId, $agesId); 
    echo $mysqli->error; 
    $i = 0; 
    $length = count($inserts); 
    while($i < $length) { 
     $in = $inserts[$i]->in; 
     $out = $inserts[$i]->out; 
     $categoryId = $inserts[$i]->categoryId; 
     $agesId = $inserts[$i]->agesId; 

      $STH->execute(); 
      $i++; 
    } 

輸出是: 致命錯誤:調用未定義的方法mysqli_stmt :: bindParam()在...的線/ data.php 252

我仔細檢查了我迄今爲止讀過的所有內容 - 參數的數量是4,字段的名稱是正確的 - 但無論如何,它都不起作用。

任何想法爲什麼發生這種情況?

+3

'bind_param' not'bindParam' –

+0

這條錯誤消息怎麼可能不太清楚? –

+0

@TheBlueDog「你的意思是'bind_param()'?」 ;) –

回答

1

的方法是bind_param,所以你會怎麼做:

$STH->bind_param("iiii", $in, $out, $categoryId, $agesId); 

你所想的PDO's bindParam

+0

你說得很對。我習慣了PDO這麼多,我錯過了這個錯字。 – yccteam