我正在尝试将数据从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);
?>
我故意清除了代码中的一些个人数据。
答案 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);