有人能告诉我查询有什么问题吗? 我省略了table_name中的一些字段,因为我现在不会使用它们,可能会晚一些。
EDITED: $ FILTER_PARAMETERS =" $ variable1 $ variable2 $ varible3 ...";
其中$ variable1 $ variable2 $ varible3 ...是数字,我想将它们插入由昏迷分隔的同一个fielde中,如下所示:
if (isset($_POST['variable1'])){
$variable1= ($_POST['variable1'].', ');}
如果我回复$ FILTER_PARAMETERS =" $ variable1 $ variable2 $ varible3 ...&#34 ;; ,我得到
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', '');";
此查询不会在数据库的任何字段中插入数据。有任何想法吗?谢谢。
EDITE:
问题可能是$ FILTER_PARAMETERS?
答案 0 :(得分: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);
答案 1 :(得分:-1)
22', '$field23', '');";
你没有向右关闭,改变它:
22', '$field23', '')");
您错过了正确的括号)
并删除了第一个分号;
只留下最后一个
这是没有值和列的查询
$query = "INSERT INTO `database_name`.`table_name` () VALUES ();";
只需删除双引号内的分号:
$query = "INSERT INTO `database_name`.`table_name` () VALUES ()";