我有兩個文件在使用。第一個是前端選擇框,其中包含動態填充的字符/文本值列表,使用POST將選定值發送到後端文件。這個後端文件此值分配給變量和變量然後在下面的查詢中使用:從外部選擇框傳遞值時無效的MySQL查詢
$query = "SELECT DoctorName, Speciality FROM hospital WHERE HospitalName =".$hosname;
然而,我不斷收到無效查詢消息我在我的設定或死亡();我不知道爲什麼。 PHP代碼在後端文件的完整部分如下:
$conn = mysqli_connect("localhost", "root", "") or die ("No connection");
mysqli_select_db($conn, "hospitaldb") or die("db will not open");
$hosname=$_POST['valuelist'];
$query = "SELECT DoctorName, Speciality FROM hospital WHERE HospitalName =".$hosname;
$result = mysqli_query($conn, $query) or die("Invalid query");
echo "<table border='1'><tr><th>mDoctorName</th><th>Speciality</th></tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr><td>" . $row[0] . "</td><td>" . $row[1] . "</td></tr>";
}
echo "</table>";
mysqli_close($conn);
注:我已經檢查了從選擇框中的值在使用打印傳遞,它是。任何幫助將不勝感激。
*我只能在本地,但感謝你的周圍可變.$hosname
名測試該所有誰推薦mysql_real_escape_string(),以防止注射。*
嘗試在die消息中添加'mysql_error()'。我們來看看拋出了什麼錯誤。 – James 2012-02-28 18:23:13
你是否嘗試過從MySQL命令行客戶端完全相同的查詢? – Karlson 2012-02-28 18:24:25
看看什麼是'sql注入' – mkk 2012-02-28 18:26:49