我試圖使用默認值mysqli constructor,這證明是連接到一個數據庫:使用默認值mysqli的構造失敗
- 主機=
ini_get("mysqli.default_host")
- 用戶名=
ini_get("mysqli.default_user")
- passwd =
ini_get("mysqli.default_pw")
我想使用默認值的原因是我可以在配置文件中的證書inst通過我的代碼分散。但是,當我沒有傳遞值時,連接成功,但隨後的查詢失敗並且沒有錯誤。
$db = new mysqli();
if ($db->connect_errno) die("Connect failed: " . $db->connect_error);
if ($rs = $db->query("select user();") or die("Query failed: " . $db->error)) {
$row = $rs->fetch_row();
echo $row[0];
$rs->close();
}
此輸出:
查詢失敗:
這意味着成功的連接,但是任何查詢因錯誤而失敗。 (其他行動,諸如select_db
,不能以同樣的方式。)
有趣的是,我可以通過改變第一線進行修復:
$db = new mysqli(ini_get("mysqli.default_host"),
ini_get("mysqli.default_user"),
ini_get("mysqli.default_pw"));
...但我寧願沒有在任何地方輸入默認值我需要一個數據庫連接。我究竟做錯了什麼?有沒有辦法使用mysqli
構造函數沒有參數?