2014-12-07 107 views
1

我跟着某些线程在这里,但我看不到我在做什么错:插件组参数到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)); 



} 

回答

0

你会得到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.")"); 
    } 
} 
+0

问题是,查询运行在每个循环... 仅供参考 - 仍然不工作:( – shafshaf 2014-12-07 17:39:30

0

改变你的朋友数组:

$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