以下のmysqlステートメントがあります:
INSERT INTO rates_try (`Weight`, `length`, `height`, `Min`, `100`, `200`, `300`) VALUES (1000,0.1,2.3,1,2,3,4);
エラーが発生します:
行が作成されていません。チェック SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルを参照して
Weight
、 1 行目の「insertquery」付近で使用する正しい構文を確認してlength
ください。height
Min
100
200
300
テーブル構造は次のとおりです。
rates_try ( `Weight` int(11),
`length` double,
`height` double,
`Min` double,
`100` double,
`200` double,
`300` double )
構文の何が問題なのかわかりませんが、列が数値であることに関係している可能性が最も高いことはわかっています。これが原因である場合は、名前に何かを追加する必要があるため、単なる数値ではありませんが、最初にそうではないことを確認したかったのです。
ステートメントを作成する PHP コード
$insertquery = "INSERT INTO rates_{$tablename} (`Weight`, `length`, `height`, `Min`";
foreach ($titles as $title){
if (empty($title) ){
}else{
$insertquery .= ", `" . $title . "`";
$counter++;
}
}
$insertquery .= ") VALUES (".$row['weight'].",".$row['cbm_min'].",".$row['cbm_max'].",".$value;
$a = 0;
while ($a < $counter){
$newvalue = $array[$a][$i];
if (empty($newvalue)){
$newvalue = 0;
}
$insertquery .= ",". $newvalue;
$a++;
}
$insertquery .= ");";
echo $insertquery. "<br/>";
$queryResult = mysqli_query($con, insertquery);