我在使用時遇到了一個錯誤 - 我認爲這是mysql_fetch_assoc問題。如何在兩個字段中使用WHERE和AND?
<?php
$buildingNames = $_POST['buildingName'];
$roomId = $_POST['roomId'];
$sql = mysql_query("SELECT *
FROM forestcourt
WHERE buildingName=$buildingNames AND
id=$roomId");
$id2 = 'id';
$buildingName = 'buildingName';
$subBuildings = 'subBuildings';
$imagePath = 'imagePath';
$description = 'description';
$rows2 = mysql_fetch_assoc($sql);
echo 'Name: ' . $rows2[$buildingName] . '<br/>' . 'Room Number: ' . $rows2[$id2]
. '<br/>' . 'Sub Buildings: ' . $rows2[$subBuildings] . '<br/>'
. 'Description: ' . $rows2[$description] . '<br/>' . 'Location: '
. '<img src="../' . $rows2[$imagePath] . '"/>' . '<br/><br/>';
?>
上面的代碼是我用來從這個頁面之前的頁面獲取表單數據;
<Form name ="form1" Method ="POST" Action ="result.php">
Building Name: <INPUT TYPE = "TEXT" Name ="buildingName">
Room Number: <INPUT TYPE = "TEXT" Name ="roomId">
<INPUT TYPE = "Submit" Name = "Submit" VALUE = "Go">
</FORM>
什麼網站是爲了做的是從形式使用$ _ POST,並將其發送到使用表單的動作屬性results.php頁面。
但是,它運行時出現錯誤說:
警告:mysql_fetch_assoc():提供的參數不是在 /websites/123reg/LinuxPackage23/ed/ge/_g/xxx.co.uk/public_html/testing/result.php一個有效的MySQL 結果資源 on line 52
line 52 is;
$rows2 = mysql_fetch_assoc($sql);
它是指;
$sql = mysql_query("SELECT *
FROM forestcourt
WHERE buildingName=$buildingNames AND
id=$roomId");
因此,我認爲我的SELECT語句有問題嗎?
我很新的SQL,所以我看不出有什麼問題。
數據庫已連接並從表中獲得結果。 字段的名稱也是正確的。
如果任何人都可以指出任何事情或幫助,那將是偉大的。
您的代碼容易受到SQL注入。 – nickb
@Prix - 看起來你在這裏過度編輯過。第一行是神祕的。 –
@ PM77-1在您的瀏覽器上使用utf-8。我沒有看到任何問題,除了空格和換行符以及標題外,我沒有改變任何內容。 – Prix