PHP中的CONCAT-SQL查询

PHP中的CONCAT-SQL查询,php,mysql,Php,Mysql,这是我的代码,但我得到一个SQL语法错误 $insert = "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '".$area1."')"; $insert .= "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '".$area2."')"; $insert .= "INSERT IGNORE INTO

这是我的代码,但我得到一个SQL语法错误

$insert = "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '".$area1."')";
$insert .= "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '".$area2."')";
$insert .= "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '".$area3."')";
$insert .= "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '".$area4."')";
$insert .= "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '".$area5."')";

执行此查询的正确方法是什么?

插入多个元组时,使用的符号为

$insert = "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '".$area1."')";
$insert .= ", (NULL, '".$area2."')";
$insert .= ", (NULL, '".$area3."')";
$insert .= ", (NULL, '".$area4."')";
$insert .= ", (NULL, '".$area5."')";
$insert .= ";";
提供多个INSERT子句表示单独的查询;这可能是可以接受的,取决于MySQL库,但每个都需要
终止


也就是说,您确实应该使用参数化查询。当
prepare
d时,它们的速度通常与此相当(在一些较大的批量插入之外)。

只需指定一次列名,然后用逗号分隔值。乙二醇

插入学生(姓名、年龄) 价值观 (‘约翰’,10岁), ('Bob',10), ('Jeremy',10)

那就换一个吧 在所有语句中“将IGNORE插入位置(位置\u id、位置\u名称)值中”,第一个语句除外,并在末尾插入分号

使用此SQL语法(使用
):

$insert = "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '$area1');";
$insert .= "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '$area2');";
$insert .= "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '$area3');";
$insert .= "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '$area4');";
$insert = "INSERT IGNORE INTO locations (location_id, location_name) VALUES (NULL, '$area1')";
$insert .= ", (NULL, '$area2')";
$insert .= ", (NULL, '$area3')";
$insert .= ", (NULL, '$area4');";