0

次のコードを使用して、2 つの $_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']);

ANDorder_noの二重引用符を開くのを忘れました...

はい、コメントを読んだことがある場合は、クエリにmysql拡張機能であるmysqli拡張機能を使用する必要があります。または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 に答える