我在表中有一个链接,它使用以下代码将两个$ _GET变量发送到另一个页面:
echo "<td><a href='somepage.php?del_date=" . $row['del_date'] . "&order_no=" . $row['order_no'] . "'>Details</a></td>";
这似乎有效,因为我能够在另一页上回应这两个。但是我不确定将它们都放入mysql_query所需的语法。我现在有类似的事情:
$result = mysql_query("SELECT panel_product_no, del_quantity
FROM deliveryContainsPanelProduct
WHERE del_date = " . $_GET["del_date"]
AND order_no = " . $_GET["order_no"]);
但这不起作用。我通过使用引号等等尝试了一些变体,但大多数时候页面是空白的,或者最多只显示表格标题但不输出任何结果。我认为这个问题介于WHERE和AND子句之间,但我完全卡住了。
有人可以帮帮我吗?
答案 0 :(得分:1)
$result = mysql_query('SELECT panel_product_no, del_quantity FROM deliveryContainsPanelProduct WHERE del_date = "' . mysql_real_escape_string($_GET["del_date"]) . '" AND order_no = "' . mysql_real_escape_string($_GET["order_no"]) . '"');
这应该有用。
我还转义了传入的变量,以保护您免受SQL注入。
答案 1 :(得分:0)
$result = mysql_query("SELECT panel_product_no, del_quantity
FROM deliveryContainsPanelProduct
WHERE del_date = " . $_GET['del_date']. " AND order_no = " . $_GET['order_no']);
您忘了打开AND order_no ...
的双引号是的,如果您已经阅读过评论,那么您应该使用mysqli扩展名为mysql扩展名进行查询。或者,您应该对查询中使用的每个参数使用mysql_real_escape_string()
。
答案 2 :(得分:0)
$delDate = mysql_real_escape_string($_GET["del_date"]);
$orderNo = mysql_real_escape_string($_GET['order_no']);
$query = "SELECT panel_product_no, del_quantity FROM deliveryContainsPanelProduct";
$query .= " WHERE del_date =" . $delDate;
$query .= " AND order_no=" . $orderNo;
$result = mysql_query($query) or die("query error");