MySQLi를 사용하여 php applciation에서 sql 쿼리를 실행하면 오류가 항상 비어 있거나 null이되어 로깅이나 인쇄를 방해하여 오히려 실망 스럽습니다 ... 삽입, 업데이트하는 데 문제가 없습니다 또는 쿼리가 오류를 발생시킬 것으로 예상되지 않는 경우 아래 스 니펫을 사용하여 데이터를 삭제하십시오.MySQLi 쿼리 오류가 발생했습니다
나는 젠드 서버의 커뮤니티 버전에 PHP 5.3.9을 사용하고 5.6.0와 mysqli mysqlnd 5.0.8-dev에 - 20,102,224 - $ 개정 : 이것은 내 쿼리를 실행하는 코드는 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 ere var_dump를 사용하거나 errno에 접근하거나 mysqli 객체의 에러는 이전에 언급했듯이 null이다. 그러나 print_r은 예상 된 오류를 보여줍니다! 내가 여기서 뭘 잘못하고 있니? 나는 전에 mysqli를 사용한 적이 없으며 oci8에서 마이그레이션을하고 있으므로 바보 같은 실수 만하기를 바랍니다.
편집 : 5.0.8-dev에 이전 서버, PHP 5.3.8, ZSCE 5.5.0 내 응용 프로그램을 테스트하고 mysqlnd
- $ 개정 - 20102224 : $ 동일로 310,735을 내가 말할 수있는 것에서 구성. 모든 덤프와 프린트는 빈 필드없이 mysqli 데이터 전체를 보여 주었다.
당신이 그것을보고해야 버그가? : 넣을 수, 행운을 빌어 요! – ZiTAL