-1

このステートメントがそれらのデータをデータベースに挿入しない理由を理解するために 2 日間を費やしました。ここでも同様の質問をすべて読んでいて、うまくいきませんでした。これは声明です:

$sql = "INSERT INTO removal_shipment_detail (request_date, order_id, shipment_date, product, product_name, delivered, quantity, local, tracking, update) VALUES ('".$request_date."','".$order_id."','".$shipment_date."','".$product."','".$product_name."','".$delivered."','".$quantity."','".$local."','".$tracking."','".$update."')";

ここで数量は INT です。一重引用符を二重引用符と交換し、強制的に追加および削除された連結と組み合わせましたが、これらの組み合わせはどれも機能しません。

ありがとう、アドバイスください!

4

4 に答える 4

3

updateは MySQL の予約語であるため、この単語を列名として使用することはできません。

参照は次のとおりです。

次のように、バックティックを使用して列をエスケープします。

$sql = "INSERT INTO removal_shipment_detail (`request_date`, `order_id`, `shipment_date`, `product`, `product_name`, `delivered`, `quantity`, `local`, `tracking`, `update`) VALUES ('".$request_date."','".$order_id."','".$shipment_date."','".$product."','".$product_name."','".$delivered."','".$quantity."','".$local."','".$tracking."','".$update."')";

補足:現在、クエリは SQL インジェクションの影響を受けやすいため、準備済みステートメントについて学んでください。また、PHP で SQL インジェクションを防ぐ方法も参照してください。

于 2016-11-20T08:20:07.027 に答える
0

間隔を使用してみてください

$sql = "INSERT INTO removal_shipment_detail 
    (request_date, order_id, shipment_date, product, product_name, delivered, quantity, local, tracking, update) 
VALUES
    ('".$request_date."','".$order_id."','".$shipment_date."','".$product."','".$product_name."','".$delivered."',".intval ($quantity).",'".$local."','".$tracking."','".$update."')";
于 2016-11-20T08:32:10.357 に答える
0

MySQLi を使用している場合は、次の方法で SQL エラーを確認できます。

オブジェクト指向スタイル

if (!$mysqli->query("QUERY_HERE")) {
    printf("Errormessage: %s\n", $mysqli->error);
}

手続き型スタイル

if (!mysqli_query($con, "QUERY_HERE")) {
    printf("Errormessage: %s\n", mysqli_error($con));
}

詳細については、PHP: mysqli:$errorを参照してください。

また、必要のないときに文字列を接続するのは好き.ではありません (常に読みにくい)。構文は次のようになります。

$sql = "INSERT INTO removal_shipment_detail (`request_date`, `order_id`, `shipment_date`, `product`, `product_name`, `delivered`, `quantity`, `local`, `tracking`, `update`) VALUES ('$request_date','$order_id','$shipment_date','$product','$product_name','$delivered','$quantity','$local','$tracking','$update')";
于 2016-11-20T08:21:46.003 に答える