你好,請關於這個功能。它的搜索腳本。當我傳遞整數到它它的工作,當我通過像12eh它不工作。雖然我一直VARCHAR作爲數據類型,因此它可以爲這兩個php搜索功能
function view($pno)
{
$this->query=("select * from user where pno=$pno");
$rd = $this->executeQuery();
@$data = $rd->fetch_assoc();
return $data;
}
你好,請關於這個功能。它的搜索腳本。當我傳遞整數到它它的工作,當我通過像12eh它不工作。雖然我一直VARCHAR作爲數據類型,因此它可以爲這兩個php搜索功能
function view($pno)
{
$this->query=("select * from user where pno=$pno");
$rd = $this->executeQuery();
@$data = $rd->fetch_assoc();
return $data;
}
你需要引用您的變量在SQL查詢:
$this->query=("select * from user where pno = '$pno'");
你也許會做得很好:
$pno = mysql_escape_string($pno);
在SQL語句中插入變量之前。 man page解釋更多。
感謝它的作品。 – user667340 2011-03-20 19:20:28
$this->query=("select * from user where pno='$pno'");
缺少引號解決$pno
mysql_escape_string()在PHP 5.3中不推薦使用。使用替代mysql_real_escape_string()
代碼將是這樣的:
$this->query = "SELECT * FROM user WHERE pno = '" . mysql_real_escape_string($pno) . "'";
這不是對原始問題的回答,而是對我的回答的評論... – Treffynnon 2011-03-20 19:18:02
感謝它的作品。 – user667340 2011-03-20 19:20:48
添加單引號爲nonintegers工作。也使用'mysql_real_escape_chars'這樣的東西,所以你沒有sqlinject – n00b 2011-03-20 19:00:18