php mysql, вызов функции-члена bind_param () для необъекта в info.php в строке 59 - PullRequest
0 голосов
/ 29 июня 2011

Я пытаюсь выполнить операцию вставки mysql, но по некоторым причинам я получаю ужасную ошибку:

Вызов функции-члена bind_param () для необъекта в info.php в строке 59

код:

<?php
 $db_usag_down = new mysqli("127.0.0.1","user","XXXXXXXX","down");
  $db_usag_full = new mysqli("127.0.0.1","user","XXXXXXXXXX","full");

$insert_query = $db_usag_down->prepare("INSERT INTO Applicant VALUES(?, ?, ?, ?, ?, ?)");
$insert_query->bind_param('issssi', $account_id, $first_name, $last_name, $email, $country, $full_status);


$insert_query->execute();
 if ($insert_query->errno) {
  echo "FAILURE!!! " . $insert_query->error();
?>

Пример значений:

23232, Майкл К, Boli Gnawaboli@example.com, Кот-д'Ивуар (Берег слоновой кости), 1

Ответы [ 2 ]

0 голосов
/ 29 июня 2011

Ваш объект оператора mysqli был создан неправильно, поскольку оператор INSERT недопустим. Вам не хватает ключевого слова VALUES:

$insert_query = $db_usag_down->prepare("INSERT INTO Applicant VALUES (?, ?, ?, ?, ?, ?)");

//
Check the error status of your `mysqli` object with `mysqli->error();`
if (!$insert_query) {
  echo $db_usag_down->error();
}

У вас будут и другие проблемы. В вашем bind_param указано больше типов данных, чем переменных для привязки.

// You have six params, so you should have only six characters in the data types:
// Assumes $full_status is an integer
$insert_query->bind_param('issssi', $account_id, $first_name, $last_name, $email, $country, $full_status);
0 голосов
/ 29 июня 2011

Две вещи, которые я вижу:

  • Во-первых, и фактическая ошибка, ваш INSERT синтаксис неверен. Необходимо включить список столбцов и / или VALUES до (?, ?, ...).
  • Во-вторых, ваш счетчик параметров для bind_param() неверен на основе вашего запроса.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...