0

シリアル化したカスタムPHPオブジェクトがあり、PHPコードを使用してMySQLデータベースに挿入しようとしています。

$serializedOrder = serialize($objectOrder);

//I have tried both of these, and all combinations of them
$serializedOrder = mysql_real_escape_string($serializedOrder);
$serializedOrder = stripslashes($serializedOrder);

$result = mysql_query("INSERT INTO orders(order) VALUES('".$serializedOrder."')");
if ($result == false) {
   echo "mysql_query failed  ";
   echo mysql_error();
   echo "   ";
   echo mysql_errno();
}

これにより、応答が生成されます。

mysql_queryが失敗しましたSQL構文にエラーがあります。'orderの近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください)VALUES(' O:10: "OrderClass":6:{s:9: "foodArray"; a:0:{} s: 8: "baseTime"; i:0; s:1'行11064

シリアル化された文字列の合計は次のとおりです。

O:10: "OrderClass":6:{s:9: "foodArray"; a:0:{} s:8: "baseTime"; i:0; s:11: "orderNumber"; i:0; s :11: "truckNumber"; i:0; s:10: "customerID"; i:0; s:11: "orderStatus"; s:0: "";}

どんな助けでも大歓迎です。

4

1 に答える 1

0

正しいクエリ

$result = mysql_query("INSERT INTO orders(`order`) VALUES('".$serializedOrder."')");

https://dev.mysql.com/doc/refman/4.1/en/reserved-words.html

于 2013-04-23T19:01:50.137 に答える