-1

誰かが私のクエリの何が問題なのか教えてもらえますか? table_name の一部のフィールドは、今は使用しないため省略しました。後で使用する可能性があります。

編集: $FILTER_PARAMETERS = "$variable1 $variable2 $variable3... ";

どこ $variable1 $variable2 $varible3... は数字であり、次のようにコンマで区切られた同じフィールドに挿入したい:

if (isset($_POST['variable1'])){
    $variable1= ($_POST['variable1'].', ');}

$FILTER_PARAMETERS = "$variable1 $variable2 $variable3... "; をエコーする場合 、私は得る

1012、1025、1036、

filter_parametersフィールドの中に入れたいのと同じように。

私のクエリはこれです:

$query = "INSERT INTO `database_name`.`table_name` (
`id` ,
`field1` ,
`field2` ,
`field3` ,
`field4` ,
`field5` ,
`field6` ,
`field7` ,
`field8` ,
`field9` ,
`field10` ,
`field11` ,
`field12` ,
`field13` ,
`field14` ,
`field15` ,
`field16` ,
`field17` ,
`field18` ,
`field19` ,
`field20` ,
`filter_parameters` ,
`field22` ,
`field23` ,
`field24`
) 

VALUES (NULL, '$field1', '$field2', '$field3', '$field4', '', '$field6', '', '', '$field9', '$field10', '$field11', '$field12', '$field13', '', '', '', '', '$field18', '$field19', '$field20', '$FILTER_PARAMETERS', '$field22', '$field23', '');";

このクエリは、データベースのどのフィールドにもデータを挿入しません。何か案は?ありがとうございました。

編集:

問題は $FILTER_PARAMETERS にあるのでしょうか?

4

2 に答える 2

1

自動インクリメントに設定されている場合は、ID フィールドを省略します。また、毎回クエリを実行するのではなく、「」を入力する MySQL のフィールドにデフォルト値を残す必要があります。値がある場合はそこに置くか、更新または挿入するつもりがない場合はそのままにしておきます。

$mysqli_conn = new mysqli($server_host, $user, $password, "database_name");

$mysqli_query = "INSERT INTO table_name (
`field1` ,
`field2` ,
`field3` ,
`field4` ,
`field6` ,
`field9` ,
`field10` ,
`field11` ,
`field12` ,
`field13` ,
`field18` ,
`field19` ,
`field20` ,
`field21` ,
`field22` ,
`field23` 
) 

VALUES ('$field1', '$field2', '$field3', '$field4', '$field6', '$field9', '$field10', '$field11', '$field12', '$field13', '$field18', '$field19', '$field20', '$field21', '$field22', '$field23')";

$mysqli_result_set = $mysqli_conn->query($mysqli_query);
于 2013-04-29T22:28:28.200 に答える
-1

クエリの最後に

22', '$field23', '');";

正しく閉じていない場合は、次のように変更します。

22', '$field23', '')");

右括弧がなく)、最初のセミコロンを削除し;、最後のセミコロンを残します

編集

これは、値と列のないクエリです

$query = "INSERT INTO `database_name`.`table_name` () VALUES ();";

二重引用符内のセミコロンを削除するだけです:

$query = "INSERT INTO `database_name`.`table_name` () VALUES ()";
于 2013-04-29T22:22:12.003 に答える