0

このスクリプトの目的は、ショッピング カートに似たものにアイテムを追加することです。ユーザーがボタンをクリックすると、以下のスクリプトがロードされます。

スクリプトは、フォームに入力された製品名の製品 ID を取得することから始まります。

これは変数に入れられます。

次に、追加された最後の注文の ID に対して LAST_INSERT_ID() メソッドを使用して、INSERT クエリが実行されます。

if(isset($_GET['submit1']))
{
$db_product_name = $_GET['product_name'];

$query  = "SELECT ProductID FROM product WHERE Product_Name = '$db_product_name'";
$result = mysql_query($query)
or die(mysql_error());
$fetch = mysql_fetch_assoc($result);
$db_productid = $fetch['ProductID'];

$query = "INSERT INTO `the_shop`.order_line_item(
`OrderID`
`ProductID`
)
VALUES (
`LAST_INSERT_ID()`, `$db_productid`)";
$result = mysql_query($query)
or die(mysql_error());
}

ただし、次のエラーが表示されます。

SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルを参照して、 3 行目の' ProductID) VALUES ( LAST_INSERT_ID(), )' 付近で使用する正しい構文を確認してください。..

4

1 に答える 1

2

あなたはコンマを逃したOrderID

INSERT INTO `the_shop`.order_line_item(
    `OrderID`, -- <---- here is a missed comma
    `ProductID`
)

Mysql は常に、解析できないクエリの一部を指します。引用部分の直前で構文エラーが発生したことを意味します

于 2013-05-13T23:49:29.767 に答える