【发布时间】:2015-06-15 20:03:39
【问题描述】:
我正在使用SELECT * FROM "" WHERE "" = "" 查询,但我不确定我做错了什么。我正在尝试根据它的 PO 选择一个项目,它是表中一行的完全唯一标识符。这是我这样做的过程:
$jobnumber = $_GET['jref'];
$query = "SELECT * FROM `po_10152796` WHERE `po` = " .$jobnumber;
$results = mysqli_query($conn,$query) or die(mysqli_error($conn));
$rowitem = mysqli_fetch_array($results);
$jobname = $rowitem['Job Name'];
$phone = $rowitem['phone'];
我知道的都是正确的:
- “jobnumber”被正确检索并与表中的元素匹配
- 表名为“po_10152796”,有一列名为“po”
【问题讨论】:
-
您容易受到sql injection attacks 的攻击。不返回结果的查询是 NOT 错误。这是一个完全有效的结果集,恰好是空的。
-
这是一个逻辑错误,这是我要解决的问题。
-
echo $query;向您展示了什么?也许您的查询格式不正确,或者您没有引用字符串值。附言请使用准备好的语句。 -
例如显示“SELECT * FROM
po_10152796WHEREpo= 1” -
这可能有点远,但是如果
$conn不是正确的连接变量怎么办?