2013-05-13 2 views
0

Я создал новый пустой файл PHP с простой функцией для Mysqli запроса, как это:ошибки на каждом запросе SQL с MySQLi

$dab = new mysqli($dbHost,$dbUser,$dbPassword,$dbDBName); 

function dbq($sql) { 
    global $dab; 
    $wynik= $dab->query($sql); 
    if (!$wynik) { 


     printf("Errormessage: %s\n", $dab->error); 

    } 
    return $wynik; 
} 
dbq('SET CHARACTER SET utf8'); 
dbq('SET collation_connection = utf8_general_ci'); 

На каждом запросе я получаю пустой ErrorMessage и на самом деле не знаю, что может быть причиной здесь.

Сценарий связывается с базой данных без каких-либо ошибок. Когда я выполнил зацикленный запрос, я получил пустой Errormessage для каждого повтора.

+2

Что такое сообщение об ошибке вы получаете назад – samayo

+0

Там нет. Ошибка $ dab-> пуста. – PiotrC

+2

Вы подтвердили, что $ dab не является нулевым, а скорее $ dab-> connect_errno является ложным – Orangepill

ответ

3
  1. Вы должны установить правильную отчетность PHP ошибки, чтобы увидеть ошибки PHP
  2. Вы должны проверить подключение ошибки.
  3. Вы не должны безоговорочно устранять ошибки.
  4. О, и вы должны установить кодировку, используя правильный метод

Таким образом, код будет

error_reporting(E_ALL); 
ini_set('display_errors',1); 

$dab = new mysqli($dbHost,$dbUser,$dbPassword,$dbDBName); 
if (!$dab) 
{ 
    throw new Exception(mysqli_connect_error()); 
} 
if (!$dab->set_charset('utf8')) { 
    throw new Exception($dab->error); 
} 

function dbq($sql) { 
    global $dab; 
    $wynik= $dab->query($sql); 
    if (!$wynik) { 
     throw new Exception($dab->error); 
    } 
    return $wynik; 
} 
Смежные вопросы