![](/img/trans.png)
[英]Select * from table_name where column_nameِ = 'value'
[英]SELECT id FROM table_name WHERE column = $variable
我正在嘗試檢索記錄的 ID 號以用作其他地方的變量。 我只想要在另一列中具有特定值的記錄中的 id。 這是我的代碼:
$result = mysql_query("SELECT id FROM order WHERE orderNumber = '$orderNumber'") or die (mysql_error());
$id = $result;
當我測試時,我得到: SQL 語法; 檢查與您的 MySQL 服務器版本相對應的手冊,了解在 'order WHERE orderNumber = '5b0ea3' 附近使用的正確語法
有任何想法嗎?
SELECT id FROM order WHERE orderNumber = '$orderNumber'
ORDER 是 SQL 中的保留字; 我建議您將表的名稱更改為其他名稱。
如果你真的不能,那么你可以用反引號轉義列和表名:
SELECT `id` FROM `order` WHERE `orderNumber` = '$orderNumber'
要么
SELECT `id` FROM `order` WHERE `orderNumber` = '".$orderNumber."'
還可以查看關於停止使用mysqli_
函數的評論——它們不安全,並且已被棄用。
由於ORDER
是保留字,因此您必須在 sql 查詢中使用反引號。 然后使用mysql_fetch_assoc來獲取 id。
$result = mysql_query("SELECT `id` FROM `order` WHERE `orderNumber` = '$orderNumber'") or die (mysql_error());
$row = mysql_fetch_assoc($result);
$id = $row['id'];
另一方面,您應該使用PDO
或Mysqli
,不推薦使用mysql_*
函數並被認為是一種不好的做法。
如果您打算繼續使用mysql_query
,至少確保使用mysql_real_escape_String清理$orderNumber
變量。
mysqli_query($connection,"SELECT `id` FROM `order` WHERE `orderNumber` = '$orderNumber'");
如您所見,您必須包含 $connection。
使用具有查詢功能的自定義數據庫類構建,但 SQL 查詢有效
$id = 1;
$database->query("SELECT * FROM tbl_post WHERE post_id = '$id'");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.