我正在尝试使用 PHP 将数组插入到 MySQL 中。我遵循了这里给出的极好的建议来使用 implode 命令,它对于一个数组非常有效,但这个数组似乎快要死了。这个数组与另一个数组略有不同,但我不知道如何解释其中的差异。
这是我的代码:
$sql = array();
foreach( $ride_detail as $row ) {
$sql[] = '('.$row['id'].', "'.mysql_real_escape_string($row['name']).'",
"'.$row['version'].'")';
}
mysql_query('INSERT IGNORE INTO ride (ride_id, name, version) VALUES '.implode(',', $sql));
我一遍又一遍地收到此消息。
Warning: Illegal string offset 'id' in ride_details.php on line 60
Warning: Illegal string offset 'name' in ride_details.php on line 60
Warning: Illegal string offset 'version' in ride_details.php on line 61
我的数组的内容(使用 print_r)是:
Array ( [id] => 21570117 [name] => Night ride home from work [start_date_local] => 1347302039 [elapsed_time] => 53:56 [moving_time] => 52:04 [distance] => 12.6 >>[average_speed] => 14.5 [elevation_gain] => 474 [location] => Englewood, CO [start_latlng] => Array ( [0] => 39.547792011872 [1] => -104.86300536431 ) [end_latlng] => Array ( [0] => 39.655485888943 [1] => -104.88656991161 ) [version] => 1355428869 [athlete] => Array ( >>[id] => 832001 [name] => Bob Kratchet [username] => bob_kratchet ) [bike] => Array ( [id] => 281303 [name] => Giant Allegre commuter ) [maximum_speed] => 29.3 [calories] => 372 >[average_power] => 107 [commute] => 1 )
我是个十足的菜鸟...
最佳答案
自从您的 $ride_detail
只是一个数组,$row
是 21570117
(整数),Night ride home from work
(字符串),依此类推,一一进行。然后代码尝试获取 id
每个元素的键,然后 name
键等等,生成大量的错误消息。
看来您打算拥有 $ride_detail
是一个数组的数组,或者你实际上并不想要 foreach
完全循环。
关于php - 使用 PHP 将数组插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14348979/