2014-03-21 2 views
0

Я пытаюсь использовать catch the error that an unsuccessful bind statement result in, поэтому я намеренно не передаю типы функции mysqli_stmt_bind_param(). Пожалуйста, смотрите фрагмент кода нижеmysqli_stmt_bind_param не возвращает обратную связь

$email = '[email protected]'; 
$password = 'password'; 
if (!(mysqli_stmt_bind_param($stmt , '' , $email, $password))) { 
    echo "Binding parameters failed: (" . mysqli_stmt_errno($stmt) . ") " . mysqli_stmt_error($stmt) . "<br>"; 
} 

Однако, mysqli_stmt_errno возвращает 0 и mysqli_stmt_error() возвращает пустую строку.

PHP дает предупреждение Warning: mysqli_stmt_bind_param(): Invalid type or no types specified in C:\wamp\www\test\database1.php on line 28 Почему я не получаю отзывы из базы данных?

+0

Почему вы хотите его поймать? –

+0

Coz Я учусь, экспериментируя с ним. Следовательно, я хотел бы видеть, какая ошибка возвращается, когда что-то идет не так. – user1720897

+0

Звучит разумно. хотя, у вас уже есть ошибка, не так ли? –

ответ

1

потому что привязка не имеет ничего общего с базой данных.

0

Параметры связывания отправляются вместе с оператором execute, а не раньше. Связывание и выполнение происходит в одном SQL-заявлении, хотя для него есть 2 PHP-функции. Его только после выполнения оператора выполнения, что база данных может дать обратную связь о неудачной привязке. Надеюсь, это поможет любому, кто может задаться вопросом об этом.

+0

Ваше заключение противоречит вашему опыту –

+0

Я сделал сетевой захват, чтобы увидеть это, а затем пришел к выводу. У меня достаточно опыта на сетевом уровне для интерпретации сетевого трафика. Этот вопрос был опубликован до того, как я сделал захват. Я обещаю :-) – user1720897

+0

Помимо захвата событий важно правильно их интерпретировать. Скорее всего, вы запутываете привязку к исполнению. И по вашему вопросу у вас есть обратная связь о неудачной привязке без выполнения вообще. –

Смежные вопросы