2015-07-04 51 views
0

這裏產生數組:如何將數組(PHP)中的數據保存到MySQL表中? (使用庫MySQLi)

$data = array(); 
    for($i = 0; $i < 100; $i++){ 
     $data[] = array(
     'name'  => md5(rand()), 
     'active'  => rand(0, 1)?'active':'banned', 
     'create_date' => rand(0, 1)?'now':'2014/12/31 14:51:52', 
     'income'  => base64_encode(rand(-9999, 9999)), 
    ); 
    } 

而且我嘗試將此數據保存到數據庫:

$columns = implode(", ",array_keys($data)); 
$escaped_values = array_map('mysql_real_escape_string', array_values($data)); 
$values = implode(", ", $escaped_values); 
$sql = "INSERT INTO `data`($columns) VALUES ($values)"; 

不過遺憾的是它不工作,表現出這樣的警告:「MYSQL_REAL_ESCAPE_STRING( )EXPECTS PARAMETER 1 STRING,ARRAY GIVEN IN ...「

如何解決這個問題?

回答

1

你應該寫這樣的事情:

'name'  => mysql_real_escape_string(md5(rand())), 

和delele:

$escaped_values = array_map('mysql_real_escape_string', array_values($data)); 
相關問題