MySQLiを使用してphp applciationでsqlクエリを実行すると、エラーが常に空またはnullになるため、ログや印刷を無効にしてしまい、かなりイライラしてしまいます...クエリがエラーを起こすことが予想されない場合は、以下のスニペットでデータを削除してください。MySQLiクエリのエラーが発生する
私は、Zend Serverのコミュニティ版でPHP 5.3.9を使用しています5.6.0とmysqliのmysqlnd 5.0.8-devの - 20102224 - $リビジョン:これは私のクエリを実行するコードがある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を使うか、私のmysqliオブジェクトのerrnoやエラーにアクセスするのは、先ほど述べたようにnullです。 print_rは予期されるエラーを表示します。私はここで間違っていますか?私は以前にmysqliを使ったことは一度もなく、oci8から移行していますので、愚かな間違いだと思っています。
編集:私は5.0.8-devの古いサーバー、PHP 5.3.8、5.5.0 ZSCEに私のアプリをテストし、mysqlnd
- $リビジョン - 20102224:$同じで310735を私が理解できるものから構成することができます。すべてのダンプとプリントは、空のフィールドなしでmysqliデータ全体を表示しました!
私はあなたがそれを報告しなければならないバグ、幸運だと思います! – ZiTAL