我從傳統的mysql_query()
參數化查詢切換到PDO,以利用它的安全優勢,我有幾個問題。首先,是否需要做magic_quotes的任何事情?這個網絡應用程序將安裝在不同配置的系統上,有些會(不幸地)讓它們啓動,而另一些則會關閉。以前我在做整個if語句addslashes()
當它關閉輸入數據...需要與PDO查詢這樣的做的事情:從mysql_query切換到PDO的問題
$dbh = new PDO("mysql:host=$db_server;dbname=$db_database", $db_username, $db_password);
$sth = $dbh->prepare("SELECT * FROM `users` WHERE `username` = :username ");
$sth->bindParam(':username', $_POST['username']);
$sth->execute();
if($row = $sth->fetch()){
// Yup
}
$dbh = null;
而且,是多麼必要,關閉在數據庫處理程序結束?不這樣做的不利之處是什麼?對於將安裝在許多不同服務器設置中的CMS,PDO是一個很好的選擇嗎? PDO在大多數服務器上啓用的地方足夠普及了嗎?
提前致謝!
謝謝,這非常有幫助。我一直使用'mysql_real_escape_string'而不是'addslashes'到現在爲止,但現在我開始適應所有的代碼來使用參數化的PDO ......所以我們會看到遇到了多少問題!再次感謝! – RANGER 2011-04-25 00:38:34