2011-09-24 71 views

回答

3

在查詢中傳遞動態構建的表名是相當危險的。但是,如果您的應用程序需要這麼多,則必須清理數據。由於PDO無法幫助您,所以您必須自己撥打mysql_real_escape_string。你也必須用反引號把表名稱作爲`table_name`。所以,準備查詢爲:

'SELECT * FROM `' . mysql_real_escape_string($database) . '` WHERE id = :id 

一個注意:mysql_real_escape_string需要數據庫已建立的連接。

編輯:但是,當我想到它,可能是最好匹配$database變量與您現有的表。

+0

是的,我從固定列表中選擇它們,但這是一個很好的觀點。 –