1
我有朋友告訴我要更改一些代碼。SQL中的intval和db_escape有什麼區別?
其中之一是告訴我要改變我的代碼爲:
intval($_GET['id']);
而另外告訴我,變成:
db_escape($_GET);
誰是對的,爲什麼?
我有朋友告訴我要更改一些代碼。SQL中的intval和db_escape有什麼區別?
其中之一是告訴我要改變我的代碼爲:
intval($_GET['id']);
而另外告訴我,變成:
db_escape($_GET);
誰是對的,爲什麼?
Intval是專門爲數字。用intval將任何不是有效的數字轉換爲「0」。使用db_escape(),您可以準備將字符串和其他內容插入到數據庫中。 因此,無論是正確的,這取決於你想如果你想插入數字插入:-)什麼,或者,如果你想選擇它的ID
$query = "SELECT * FROM table WHERE id = " . intval($GET_["id"]);
的條目,那麼你應該使用INTVAL。如果你想插入一個文本,你應該使用db_escape。
$query = "INSERT INTO table (stringCol) VALUES('" . db_escape($_POST['string']) . "')";