插件组参数到MySQL
问题描述:
我跟着某些线程在这里,但我看不到我在做什么错:插件组参数到MySQL
$friends = array
(
array("yaron","levi","[email protected]"),
array("david","chohen","[email protected]"),
array("michal","rubin","[email protected]"),
array("dafna","mishal","[email protected]"),
array("tamar","mishal","[email protected]")
);
if(is_array($friends)){
$sql = array();
foreach($friends as $row) {
$sql[] = '("'.mysql_real_escape_string($row['firstname']).'","'.mysql_real_escape_string($row['lastname']).'","'.mysql_real_escape_string($row['email']).'")';
}
mysql_query('INSERT INTO MyGuests (firstname,lastname,email) VALUES '.implode(',', $sql));
}
答
你会得到undefined index
错误,因为你的数组由firstname
没有索引,lastname
&等。在imploding过程中也用单引号括起数值。这应该有助于
if(is_array($friends)){
$sql = array();
foreach($friends as $row) {
$sql[] = mysql_real_escape_string($row[0]);
$sql[] = mysql_real_escape_string($row[1]);
$sql[] = mysql_real_escape_string($row[2]);
$values = "'".implode("','", $sql)."'";
mysql_query("INSERT INTO MyGuests (firstname,lastname,email) VALUES(".$values.")");
}
}
答
改变你的朋友数组:
$friends = array(
array("firstname"=>"yaron", "lastname"=>"levi", "email"=>"[email protected]"),
array("firstname"=>"david", "lastname"=>"chohen","email"=>"[email protected]"),
array("firstname"=>"michal","lastname"=>"rubin", "email"=>"[email protected]"),
array("firstname"=>"dafna", "lastname"=>"mishal","email"=>"[email protected]"),
array("firstname"=>"tamar", "lastname"=>"mishal","email"=>"[email protected]")
);
随着这一变化,你的脚本将工作顺利!
+0
对不起,它不是... – shafshaf 2014-12-07 17:44:44
问题是,查询运行在每个循环... 仅供参考 - 仍然不工作:( – shafshaf 2014-12-07 17:39:30