Я новичок в программировании не только с PHP, но и вообще. В настоящее время я делаю мой первый проект, чтобы улучшить себя. Я сделал это OneC, но теперь я хочу, чтобы все мои запросы на работу с подготовленными операторами, которые что-то новое для меня ...PHP Предупреждение: mysqli_stmt_bind_result()
$create_stmt = mysqli_prepare($connection, "INSERT INTO `users`(`user_name`, `password`) VALUES (?,?)");
if(!$create_stmt){
echo 'error';
exit;
}
mysqli_stmt_bind_param($create_stmt, 'ss',$username,$password);
mysqli_stmt_execute($create_stmt);
mysqli_stmt_bind_result($create_stmt, $new_uname, $new_unamepass);
mysqli_stmt_fetch($create_stmt);
Так вот сделка. Я имею такого рода ошибки:
Warning: mysqli_stmt_bind_result(): Number of bind variables doesn't match number of fields in prepared statement.
Поскольку я хочу добавить 2 значения в моей таблице "пользователей я объявляющего 2 новые переменные $new_uname
, $new_unamepass
, но почему-то это не правильно ...
Также mysqli_stmt_fetch($create_stmt);
не является ИСТИННЫМ, но должно быть, если все в порядке (очевидно, это не нормально). Поэтому, пожалуйста, если кто-нибудь может мне помочь или дать мне совет, это будет здорово!
Ваш ВСТАВИТЬ запрос не возвращает никаких данных, как SELECT, запрос будет. Поэтому вы, вероятно, хотите удалить свои вызовы bind_result и получить. – James
Я бы предложил вам попробовать запустить это с помощью объектов. Это значительно упрощает код. – Machavity
@Machavity: совершенно бесполезное «решение», идущее в ООП, не «упростит» ЛЮБОЙ из этого кода. –