Когда я выполняю sql-запросы в моем php-приложении с использованием MySQLi, ошибки всегда пусты или нуль, поэтому отключение от регистрации или печати их довольно сложно ... У меня не было никаких проблем с вставкой, обновлением или удаление данных с помощью нижеприведенного фрагмента, когда запрос не должен приводить к ошибке.MySQLi получает ошибку запроса
Я использую PHP 5.3.9 на общинном издание Zend Server 5.6.0 и MySQLi mysqlnd 5.0.8-DEV - 20102224 - $ Revision: 318113 $
Это код, который выполняет свои запросы:
...
$this->last= $this->mysqli->query($sql);
if (!$this->last)
{
print_r($this->mysqli);
var_dump($this->mysqli->error);
var_dump($this->mysqli->errno);
var_dump($this->mysqli);
$msg = 'Query failed [ ' . $this->mysqli->error . ' ]';
$this->mysqli->rollback();
throw new Exception($msg, ...);
}
...
для тестирования я insterted город, названный «боб» в моей базе данных и попытался вставить другой город с таким же названием, и это то, что было напечатано:
mysqli Object
(
...
[errno] => 1062
[error] => Duplicate entry 'bob' for key 'unq_city'
...
)
string(0) ""
int(0)
object(mysqli)#6 (18) {
...
["errno"]=>
int(0)
["error"]=>
string(0) ""
...
}
H если использовать var_dump или получить доступ к errno или ошибке моего объекта mysqli, как я уже говорил, null. HOWEVER print_r показывает ожидаемую ошибку! Что я здесь делаю неправильно? Я никогда не использовал mysqli раньше и перехожу с oci8, поэтому я надеюсь, что это всего лишь глупая ошибка.
Edit:
Я проверил мое приложение на старом сервере, PHP 5.3.8, 5.5.0 и ZSCE mysqlnd 5.0.8-DEV - 20102224 - $ Revision: 310735 $ с идентичными конфигурацию из того, что я могу сказать. Все дампы и отпечатки отображали все данные mysqli без какого-либо пустого поля!
я думаю, что это ошибка, которую необходимо сообщить об этом, удачи! – ZiTAL