php - 使用 PHP 将数组插入 MySQL

标签 php mysql arrays

我正在尝试使用 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只是一个数组,$row21570117 (整数),Night ride home from work (字符串),依此类推,一一进行。然后代码尝试获取 id每个元素的键,然后 name键等等,生成大量的错误消息。

看来您打算拥有 $ride_detail是一个数组的数组,或者你实际上并不想要 foreach完全循环。

关于php - 使用 PHP 将数组插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14348979/

相关文章:

mysql - 选择分组后列中最大值的条目

javascript - 我可以将 document.getElementById() 与多个 id 一起使用吗?

PHP 和 MySQL 搜索大量列

php - 如何根据查询字符串中的匹配使用 SetEnvIf?

mysql - 如何在半复杂场景中正确检测局部最大值和曲线窗口?

javascript - 设置 div 以显示数组

javascript - 如何让这个 'Sorted Union' 函数在 javaScript 中使用 Array.concat 工作

php - Symfony,重定向到(或呈现)带有 404 状态返回码的 404 自定义错误页面

php - 如何确定 n 高数字金字塔中的最大路径成本

mysql - 为什么 INNODB 批量插入会导致自动增量主键跳过值?