2015-08-19 58 views
0

我在PHP mySQL中有一个将记录插入数据库的函数。它包含一组解码的JSON数据,一个字段名称,一个连接和一个数据库名称。然后它建立一个SQL语句并逐个插入记录,或者至少这就是我认为它应该做的事情。我运行一切,建立连接,数据库和表,但是当它到达这个函数时,它会失败。我觉得它与我的INSERT语句有关,但我不知道如何解决它。任何帮助将不胜感激。插入函数PHP mySQL

功能:

function insertRecords($array,$fieldname, $conn, $db_NAME) 
{ 
    mysqli_select_db($conn, $db_NAME); 

    $sql_insert = "INSERT INTO `tbl_articles` (`" . $fieldname . "`) VALUES ('" . $records . "')"; 

    foreach ($array as $records) 
    { 

     if(mysqli_query($conn, $sql_insert)) 
     { 
      echo "Records Inserted."; 
     } 
     else 
     { 
      die('Error : ' . mysqli_error($conn) . "<br>"); 
     } 
    } 
    echo $sql_insert . "<br>"; 
} 
+1

您在创建INSERT之前使用'$ records',然后再定义它。 – andrewsi

+0

我认为查询字符串必须在foreach块中。 – Ahmad

+1

将您的插入到循环中。 – mdamia

回答

1

它只是看起来像你的查询字符串被移动那里。试试这个:

function insertRecords($array,$fieldname, $conn, $db_NAME){ 
    mysqli_select_db($conn, $db_NAME); 

    foreach ($array as $records) 
    { 
     $sql_insert = "INSERT INTO `tbl_articles` (`" . $fieldname . "`) VALUES ('" . $records . "')"; 
     if(mysqli_query($conn, $sql_insert)) 
     { 
      echo "Records Inserted."; 
     } 
     else 
     { 
      die('Error : ' . mysqli_error($conn) . "<br>"); 
     } 
    } 
} 
+0

虽然有效,但它仍然没有插入任何东西到数据库中...它使用正确的字段构建的表,但没有插入记录......为什么会这样? – Thomas

+0

什么是查询(来自回声)?你可以通过phpMyAdmin手动执行它们吗? – Richard

+0

我刚刚在那里调试。我忘了把它拿出来。 – Thomas