开发者社区> 问答> 正文

用PHP将数组插入MySQL数据库

我有以下要存储在数据库中的数组...

$insData = array( 'uid' => $fbme['id'], 'first_name' => $fbme['first_name'], 'last_name' => $fbme['last_name'], 'email' => isset($fbme['email']) ? $fbme['email'] : '', 'link' => $fbme['link'], 'affiliations' => $networks, 'birthday' => $info[0]['birthday_date'], 'current_location' => isset($fbme['location']['name']) ? $fbme['location']['name'] : '', 'education_history' => $education, 'work' => $workInfo, 'hometown_location' => isset($fbme['hometown']['name']) ? $fbme['hometown']['name'] : '', 'interests' => $info[0]['interests'], 'locale' => $info[0]['locale'], 'movies' => $movies, 'music' => $music, 'political' => $info[0]['political'], 'relationship_status' => $info[0]['relationship_status'], 'sex' => isset($fbme['gender']) ? $fbme['gender'] : '', 'tv' => $television, 'status' => '0', 'created' => $now, 'updated' => $now, ); 我试图搜索谷歌上如何做到这一点,我所能找到的是表明插入数组之前需要对数组进行拆分的信息。它是否正确?抱歉,天真,对于php来说还很陌生。

展开
收起
保持可爱mmm 2020-05-10 22:19:08 530 0
1 条回答
写回答
取消 提交回答
  • 您不能直接将数组插入mysql,因为mysql无法识别php数据类型。 Mysql只了解SQL。因此,要将数组插入mysql数据库,必须将其转换为sql语句。可以手动或通过库来完成。输出应为INSERT语句。

    这是标准的mysql插入语句。

    INSERT INTO TABLE1(COLUMN1, COLUMN2, ....) VALUES (VALUE1, VALUE2..) 如果您的表名称fbdata带有数组键中显示的列,则可以插入此小片段。这是将数组转换为该语句的方式。

    $columns = implode(", ",array_keys($insData)); $escaped_values = array_map('mysql_real_escape_string', array_values($insData)); $values = implode(", ", $escaped_values); $sql = "INSERT INTO fbdata($columns) VALUES ($values)"; PHP7更新

    由于mysql_real_escape_string不赞成使用PHP 5.5 ,而自PHP7起,已将其删除。有关新过程,请参阅:Php.net的文档。来源:stack overflow

    2020-05-10 22:19:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载

相关镜像