-1

$_GET 変数から ID を取得できません。データベース内のテーブルを特定の ID で更新しようとしています。問題は、アドレス バーに ID が表示されているのに、$_GET で取得できないということです。これがコードです。ここでは、コードの一部のみを共有しています。親切にそれをチェックして、私を導いてください。

<?php
session_start();
include 'connect.php';  
$id= $_GET['product_id'];

$select_query = "select * from products LEFT JOIN product_description 
                ON products.product_id='".$_GET['product_id']."' and 
                product_description.product_id='".$_GET['product_id']."' 
                where products.product_id='".$_GET['product_id']."'     ";

if(!$select_query_run = mysql_query($select_query))
{
    echo mysql_error();
}
else


Notice: Undefined index: product_id in
F:\xampp\htdocs\CMS\update_single_product.php on line 36

代わりに使用すると$id、4行目にエラーが表示されます。

/cms/update_single_product.php?product_id=159

**

私はいくつかの変更を加え、現在は機能しています。どのように修正されたのかはまだわかりませんが、機能しています:)

**

4

2 に答える 2

1

$_GET['product_id'] が最初に設定されているかどうかを確認する必要があります。また、変数に $_GET['product_id'] が定義されています。クエリで使用し、すべての入力を mysql インジェクションから保護することを忘れないでください。

$id = mysql_real_escape_string($_GET['product_id']);

$select_query= "SELECT * FROM products LEFT JOIN product_description ON products.product_id='".$id."' and product_description.product_id='".$id."' where products.product_id='".$id."' ";

$id を echo して、何が起こるかを確認してみてください。

余談ですが; MySQL は非推奨です。代わりに mysqli または PDO を使用する必要があります。

于 2013-07-25T05:53:57.363 に答える