我可以連接到MySQL使用mysql_*
函數具有相同的憑據。PDO連接到本地主機(未知的mysql服務器主機)
有沒有辦法連接到使用PDO與只有USAGE
權限的用戶本地MySQL數據庫?我沒有機會將權利設置爲ALL
,我已將其閱讀爲SO中類似問題的解決方案。
SQLSTATE[HY000] [2005] Unknown MySQL server host 'localhost,dbname=crmdb' (74)
我可以連接到MySQL使用mysql_*
函數具有相同的憑據。PDO連接到本地主機(未知的mysql服務器主機)
有沒有辦法連接到使用PDO與只有USAGE
權限的用戶本地MySQL數據庫?我沒有機會將權利設置爲ALL
,我已將其閱讀爲SO中類似問題的解決方案。
SQLSTATE[HY000] [2005] Unknown MySQL server host 'localhost,dbname=crmdb' (74)
// PDO
$pdo = new PDO("mysql:host=localhost;dbname=database", 'username', 'password');
注意分號;
不是逗號,
哇!我無語了。問題是,我測試了本地web服務器上的腳本,它接受'$ dbh = new PDO(「mysql:host = 127.0.0.1:3306,dbname = test」,'root','');'與COMMA。可能因爲沒有設置密碼。 –
這就是我的意思,我們需要你的代碼,只是我能夠表示的錯誤信息,但是我支持我在使用多種數據庫類型時只使用PDO,因爲它對於簡單類型來說非常大且複雜,並且是命名參數是一件好事,但它確實很容易實現,並且您可以更好地實現相同名稱空間的多種用法,函數prepareSQL($ sql,$ data){foreach($ data as $ key => $ val){$ sql = str_replace(「:」。$ key,$ val,1); }返回$ sql;}'哦,這支持對象或值的數組:) –
我會擔心你的測試服務器那裏是不正確的。並且不應該像PDO一樣從中建立一種ODBC連接。 EG「mysql:host = 127.0.0.1:3306; dbname = test; user = test」或者是否有密碼「mysql:host = 127.0.0.1:3306; dbname = test; user = test; password = pass」 –
我建議你不要使用PDO,你可用MySQLi接口在PHP它具有客觀支持或'mysqli_ *'支持,我不認爲它有你看到的錯誤http://uk1.php.net/mysqli –
沒有?我不會修改數千行。使用PDO,我將結果作爲自定義類的對象提取,您可以在MySQLi中執行此操作? –
成千上萬的線你沒有建立一個班級來管理你嗎?如果是這種情況,我會說我們需要更多的信息,你可以向我們展示你的一個調用,以及它在將它發送到服務器之前構建的SQL,但是我不認爲你可以在PDO上繞過這個錯誤php –