PHP MySQL подготовил-оператор prepare () не удается - PullRequest
1 голос
/ 17 октября 2011

следующее возвращает false, и я не знаю, как выяснить, что именно не так.

$stmt = $dbo->stmt_init();
if($stmt->prepare("INSERT INTO transactions ('id', 'time') VALUES ('',?)")) // returns false
{
}

У меня есть другое утверждение, которое делает выбор открытым в то время.это проблема иметь более одного утверждения?

Ответы [ 3 ]

3 голосов
/ 17 октября 2011

Подтвердили ли вы, что вы успешно подключаетесь к базе данных?

/* check connection */
if ( mysqli_connect_errno() ) {
    printf("Connect failed: %s\n", mysqli_connect_error());
}

Чтобы выяснить, что не так с вашим подготовленным оператором, вы сможете отобразить ошибку $ stmt->, которая будетвозвращает строковое описание последней ошибки оператора и $ dbo-> error, которая возвращает последнюю ошибку mysqli.

printf("Error: %s.\n", $stmt->error);
0 голосов
/ 18 октября 2011

просто проверьте, правильно ли введены эти столбцы ... так как я получаю ту же ошибку, потому что я упомянул несуществующее имя столбца в запросе ..

0 голосов
/ 17 октября 2011

Вам не нужны одинарные кавычки вокруг имен таблиц.Это должно выглядеть так:

$stmt = $dbo->stmt_init();
if($stmt->prepare("INSERT INTO transactions (id, time) VALUES ('', ?)")) {

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...