【问题标题】:How to insert data from array into mysql using php如何使用php将数组中的数据插入mysql
【发布时间】:2018-05-02 08:03:13
【问题描述】:

我有这个名字和姓氏的数组,我想将名字插入数据库,数组看起来像这样:

Array(
[0] => firstname1
[1] => firstname2
[2] => firstname3
)

Array(
[0] => lastname1
[1] => lastname2
[2] => lastname3
)

我有这段代码可以插入它们,但它不起作用

         $fname = $_POST['fname'];
         $lname = $_POST['lname'];

         for($i=0, $count = count($fname); $i < $count; $i++){
         $lastname = $lname[$i];
          $firstname = $fname[$i];
         $query = mysqli_query($con,"INSERT INTO 
       persons(firstname,lastname)VALUES('$firstname','$lastname')");
    }

打印数组中的字符串不是问题,但是当我插入它时会出现错误提示 注意:第 259 行 D:\xampp\htdocs\SPAC_Online_Grading_System\system\pages\addfunction.php 中的数组到字符串转换 我怎样才能让它工作?

【问题讨论】:

  • 你的 for 循环语法错误
  • 这不仅是一个研究不足的副本。您的查询容易受到注入攻击。继续研究。
  • 危险:你很容易受到SQL injection attacks的影响,你需要defend你自己。
  • Insert rows from two arrays into mysql table in php 的可能重复项 ...这只是 MANY 之一。
  • 对不起,如果你觉得它是研究不足的重复,但在这里提问真的是我最后的选择,呵呵是的,它很脆弱,但我现在并不担心,我只是想插入这些东西。

标签: php


【解决方案1】:

你的循环条件不对,改一下:

for($i=0, $count = count($fname); $i < $count; $i++)

收件人:

for($i=0; $i < count($fname); $i++)

另外请注意,您容易受到 SQL 注入的影响,您应该准备和绑定您的语句

【讨论】:

    【解决方案2】:

    你的循环是错误的。试试这个代码:

     <?php 
     $fname = $_POST['fname'];
     $lname = $_POST['lname'];
    
     for($i=0; $i < count($fname); $i++){
    
       $firstname = $fname[$i];
       $lastname = $lname[$i];
    
       $query = mysqli_query($con,"INSERT INTO 
          persons(firstname,lastname)VALUES('$firstname','$lastname')");
     }
     ?>
    

    【讨论】:

      【解决方案3】:
          for($i=0; $i<count($fname);$i++){
              $lastname = $lname[$i];
              $firstname = $fname[$i];
              $stmt = $conn->prepare($con,"INSERT INTO persons(firstname,lastname)VALUES(?,?)");
              $stmt->bind_param("ss", $firstname, $lastname);
              $stmt->execute();
          }
      

      试试这个代码。它不受 sql 注入(使用准备语句)的影响,并修复了你的 for 循环。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-21
        • 2011-08-11
        • 2012-04-20
        • 2011-06-13
        相关资源
        最近更新 更多