php数组mysql插入

php数组mysql插入,php,mysql,arrays,Php,Mysql,Arrays,这个foreach循环只插入一条(数组中的最后一个值)记录,数组包含大约20个值。有人能帮我吗;我好像没办法解决这个问题 foreach ($array as $key => $value) { $sql = " INSERT INTO table3 (date, header, header2) VALUES (CURRENT_DATE(), '".$key."', '".$value."') " ; } 这是因为您只定义$sql,它只是一个字符串,但实际上并不执行sql语句

这个foreach循环只插入一条(数组中的最后一个值)记录,数组包含大约20个值。有人能帮我吗;我好像没办法解决这个问题

foreach ($array as $key => $value) {


 $sql = " INSERT INTO table3 (date, header, header2) VALUES (CURRENT_DATE(), '".$key."', '".$value."') " ;

 }

这是因为您只定义$sql,它只是一个字符串,但实际上并不执行sql语句

您必须将sql语句的执行移动到循环中才能使其工作

e、 g:


这是因为您只定义$sql,它只是一个字符串,但实际上并不执行sql语句

您必须将sql语句的执行移动到循环中才能使其工作

e、 g:

试试这个

foreach ($array as $key => $value) {


 $sql = " INSERT INTO table3 (date, header, header2) VALUES (CURRENT_DATE(), '".$key."', '".$value."') " ;
 $sqlquery = mysqli_query($conn, $sql); //$conn is your connection variable 
 }
试试这个

foreach ($array as $key => $value) {


 $sql = " INSERT INTO table3 (date, header, header2) VALUES (CURRENT_DATE(), '".$key."', '".$value."') " ;
 $sqlquery = mysqli_query($conn, $sql); //$conn is your connection variable 
 }

尝试这种优化方法,因为它将减少数据库操作并提高执行速度

$sql = " INSERT INTO table3 (date, header, header2) VALUES ";
foreach ($array as $key => $value) {
 $sql .= "(`".CURRENT_DATE()"`, `".$key."`, `".$value."`),";
}
$sql = trim($sql ,',');
$mysqli->query($conn, $sql);

尝试这种优化方法,因为它将减少数据库操作并提高执行速度

$sql = " INSERT INTO table3 (date, header, header2) VALUES ";
foreach ($array as $key => $value) {
 $sql .= "(`".CURRENT_DATE()"`, `".$key."`, `".$value."`),";
}
$sql = trim($sql ,',');
$mysqli->query($conn, $sql);


因为在循环中没有执行查询,所以在每个循环上都重写$sql变量。尝试使用。=因为在循环外部执行查询,所以需要在循环内部执行查询。从技术上讲,该循环不会插入任何记录。@在这种情况下,每个mysql语句末尾都需要一个分号。因为在循环内部没有执行查询,所以在每个循环上都重写$sql变量。尝试使用。=因为在循环外部执行查询,所以需要在循环内部执行查询。技术上,该循环不会插入任何记录。@在这种情况下,它将要求在每个mysql语句的末尾使用分号,但您可以对其进行优化,您可以使用一个查询而不是多个@spyda46如果对您有帮助,请不要忘记接受答案。:)这就是他在代码中遗漏的一个例子。:)我唯一仍然存在的问题是结束值,插入了两次-有什么想法吗?@spyda46记得在循环结束后删除sql执行。这可能就是它将最后一个插入两次的原因。:)但您可以对其进行优化,您可以使用一个查询而不是多个@spyda46如果答案对您有帮助,请不要忘记接受答案。:)这就是他在代码中遗漏的一个例子。:)我唯一仍然存在的问题是结束值,插入了两次-有什么想法吗?@spyda46记得在循环结束后删除sql执行。这可能就是它将最后一个插入两次的原因。:)最佳方式,立即执行查询。这给了我--PHP解析错误:语法错误,意外的T_FOREACHtry让它工作,但上面给了--PHP解析错误:语法错误,意外的T_CONSTANT_ENCAPSED_STRINGbest方式,立即执行查询。这给了我--PHP解析错误:语法错误,意外的T_FOREACHtry让它工作,但是上面给出了--PHP解析错误:语法错误,意外的T_常量\u封装的\u字符串