2014-12-07 115 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