我试图检索记录的ID号作为变量的其他地方使用。我只想从具有另一列特定值的记录的ID。这里是我的代码:
$result = mysql_query("SELECT id FROM order WHERE orderNumber = '$orderNumber'") or die (mysql_error());
$id = $result;
当我测试我得到:SQL语法;检查对应于你的MySQL服务器versi0on为正确的语法使用近“为了WHERE订单号码=‘5b0ea3’手册
有任何想法吗?
SELECT id FROM order WHERE orderNumber = '$orderNumber
顺序是SQL的保留字;我建议你改变了列的名称别的东西。
如果你真的不能,那么你就可以逃脱与反引号列和表名:
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
计划保持,至少确保有$orderNumber
消毒的mysql_real_escape_String变量。
mysqli_query($connection,"SELECT `id` FROM `order` WHERE `orderNumber` = '$orderNumber'");
如你所见,你必须包括$连接。
使用自定义的数据库类的查询功能内置,但SQL查询作品
$id = 1;
$database->query("SELECT * FROM tbl_post WHERE post_id = '$id'");