0

我在一个表中有一个链接,它使用以下代码将两个 $_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 子句之间,但我完全陷入困境。

有人可以帮帮我吗?

4

3 回答 3

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 注入。

于 2012-09-02T11:43:21.583 回答
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()您在查询中使用的每个参数。

于 2012-09-02T13:44:55.147 回答
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");
于 2012-09-02T13:53:07.570 回答