我想從一個mysql表中使用兩個表單變量,即$ sessionID和$ semesterID獲取結果。我用下面的代碼,它似乎有一個錯誤的SQL語法使用表單變量爲mysql查詢
<?php
...
mysql_select_db($database_connChePortal, $connChePortal);
$query_rsRegcourses =sprintf("SELECT * FROM VW_reg vwr WHERE vwr.sessionID=%s AND vwr.semesterID=%s",$sessionID,$semesterID);
$rsRegcourses = mysql_query($query_rsRegcourses, $connChePortal) or die(mysql_error());
$row_rsRegcourses = mysql_fetch_assoc($rsRegcourses);
$totalRows_rsRegcourses = mysql_num_rows($rsRegcourses);
print_r($query_rsRegcourses); die;
...
?>
我試圖運行查詢和我有以下的錯誤報告
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND vwr.semesterID=' at line 1
感謝
除了像其他人已經注意到的缺少單引號,你也沒有逃避數據之前,把它放入數據庫。你應該使用mysql_real_escape_string(或者更好的PDO,mysqli或ORM) – Greg