PHP 语法仅存储数组的最后一个值

标签 php mysql

需要有关此语法的帮助,它仅将数组的最后一个值存储到数据库中。

   <?php
    if(isset($_POST["submit"])) {
        $lines=preg_split('/\r\n|[\r\n]/', $_POST['text']);


        foreach($lines as $line => $value)
        $quer = "INSERT INTO wew (wewe) VALUES('$value')";
        if ($conn->query($quer) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $quer . "<br>" . $conn->error;
    }

        }
        ?>

最佳答案

您应该在 foreach 中添加括号。如果没有它,只有下一行会在循环中。

所以你应该:

foreach($lines as $line => $value) {
    $quer = "INSERT INTO wew (wewe) VALUES('$value')";
    if ($conn->query($quer) === TRUE) {
      echo "New record created successfully";
    }
}

我建议您对所有条件和循环使用括号,因为可读性更好并且可以避免类似的错误。

关于PHP 语法仅存储数组的最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37017725/

相关文章:

php - 表单验证问题

javascript - 即使填写并检查了所有字段后,表单也不会提交

mysql - mysql获取最大连续重复记录数

mysql - Pentaho JNDI ssh 隧道 数据集成 MySQL

mysql - 删除MySQL前的STRING/字符

php - 来自动态 JSON 的 Fullcalendar 加载事件

php - 覆盖log接口(interface)容器绑定(bind)lumen 5.0

php - 在 PHP 中从外部文件加载变量

mysql - 更新 3 列连接表时出错

mysql - 将 MySQL 数据库从 MyISAM 转换为 InnoDB