2013-05-13 42 views
0

每一個SQL查詢我創建與mysqli的查詢功能簡單一個新的空PHP文件,像這樣:誤差與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 2013-05-13 21:09:22

+0

有沒有錯誤消息。 $ dab->錯誤是空的。 – PiotrC 2013-05-13 21:11:01

+2

是否確認$ dab不爲空,或者是$ dab-> connect_errno爲假 – Orangepill 2013-05-13 21:13:19

回答

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; 
}