2015-01-03 1 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' не' bindParam' –

+0

Как это сообщение об ошибке может быть менее ясным? –

+0

@TheBlueDog "Вы имели в виду' bind_param() '?" ;) –

ответ

1

Метод bind_param, так что вы хотите сделать:

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

Вы думали о PDO's bindParam.

+0

Вы совершенно правы. Я так привык к PDO, что пропустил эту опечатку. – yccteam