Подготовленное заявление получает ошибку 0


Пытаюсь сделать подготовительный оператор, но по какой-то причине мне это не удается, и я получаю errno 0 с ошибкой (текст) пустым. Чем это вызвано? Уже давно ищу в интернете.

<?php
$dbh = new mysqli("localhost","root","","honeypot");

if ($dbh->connect_errno) {
echo "Connection failed: (" . $dbh->connect_errno . ") " . $dbh->connect_error;
die();
}

//Prepare
if (!($stmt = $dbh->prepare("SELECT tblUsers WHERE UserName = ?"))) {
echo "Prepare failed: (" . $dbh->connect_errno . ") " . $dbh->connect_error;
}
?>

0

Решение

Вы получаете error 0 потому что ты печатаешь $dbh->connect_error, но у вас не было ошибки при установлении соединения. Для всего, кроме первоначального подключения, вы должны использовать $dbh->error,

echo "Prepare failed: (" . $dbh->errno . ") " . $dbh->error;

Вы получаете ошибку, потому что ваш запрос имеет синтаксическую ошибку. Так должно быть:

SELECT col1, col2, col3, ... FROM tblUsers WHERE UserName = ?

Вы пропускаете список столбцов и FROM ключевое слово.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]