如何将数据从PHP数组插入MySQL

时间:2017-09-26 19:25:23

标签: php mysql

我正在尝试将数据从Array插入MySQL Database。数据库包含两列(字符串)。这是我写的代码。怎么了?

<?php
$time = date("H:i:s");
$a = array("foo", "bar", "hallo", "world");
//convert values of the array to string
$a = array_map('strval', $a);
//get array size
$arraySize = count($a);

//connection to database
$link = mysql_connect('', '', '') or die('connection lost');
mysql_select_db() or die('DB not found');

//try to insert data from the array to the database
for ($i = 0; $i < $arraySize; $i++) {
    mysql_query("INSERT INTO `` (`time`, `text`) VALUES ('$time','$a[i]'))");
}


mysql_close($link);

?>

我故意清除了代码中的一些个人数据。

3 个答案:

答案 0 :(得分:0)

试试这个

删除$ a = array_map('strval',$ a)

有(){ 在for循环中

$ value =(string)$ a [i];

$ sql =“INSERT INTO $ tablename(time,text)VALUES('$ time','{$ value}')”;

的mysql_query($ SQL);

$ value =“”;

}

答案 1 :(得分:0)

问题在于这部分代码:

VALUES ('$time','$a[i]')

我在$之前错过了i

此部分代码也可能没有任何问题: $a = array_map('strval', $a);

答案 2 :(得分:0)

这是你的回答..!希望它适合你

   $contentArray = [];
   $rows = array();

   $time = date("H:i:s");
   $rows[] = array( "foo", "bar", "hallo", "world");
   $fields = json_encode($rows);
   array_push($contentArray,$fields,$time);

   $values[] = '(' . placeholders('?', 2) . ')';

   $field_names = "text,time";

   $sql = "INSERT INTO table_name (" . $field_names . ") VALUES " . implode(',', $values);