Как получить доступ к ошибке mysql?

303
08 июня 2017, 08:25

Имеется вот такой код:

function addData($userName, $userMail, $userMessage) {
$mysqli = new mysqli('localhost','root','mypasswd','guestbook');
//формируем SQL-запрос
$query = "INSERT INTO `gb_message` (`username`,`e-mail`,`message_text`,`date`,`published`)".
    " VALUES('".$userName."','".$userMail."','".$userMessage."',NOW(),0)";
 //выполняем запрос на добавление в БД
 //Если возникла ошибка, то добавляем сообщение в массив, а переменную устанавливаем в -1
if(!$mysqli->query($query)) {
$error = $mysqli->error;
$globMessages['insert_error'] = 'Ошибка добавления: ' . $mysqli->error;
$mysqli->close();
return -1;
//иначе добавляем сообщение об успешном добавлении и переменную устанавливаем в 1
}
}

По идее, всё должно работать. Но, как только я пытаюсь получить значение $mysqli->error, эти поля сбрасываются:

Почему так происходит и что с этим делать?

READ ALSO
Как в UBUNTU установить phpmyadmin на php 7.1

Как в UBUNTU установить phpmyadmin на php 7.1

Я установил в UBUNTU 1404 apache2+php7

322
Повтор части таблицы на всех страницах

Повтор части таблицы на всех страницах

Есть шаблон документа Накладной с таблицей и итоговым блокомНужно чтобы шапка таблицы и ее подвал (итоговый блок) повторялись на каждой странице...

326
Невалидная кодировка для SOAP

Невалидная кодировка для SOAP

SOAP-ERROR: Encoding: string '\x94

281
Использование сопрограмм на С++ [требует правки]

Использование сопрограмм на С++ [требует правки]

Можно ли считать сопрограмму частным случаем функции или это отдельная категория? Может ли она, также как функция принимать параметры? В чем...

293