当前位置: 首页 > 面试题库 >

用PHP将数组插入MySQL数据库

钦楚青
2023-03-14
问题内容

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

$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来说还很陌生。


问题答案:

您不能直接将数组插入 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的文档。



 类似资料:
  • 问题内容: 我有一个来自csv的数组,其结构与此类似: 我想将其插入到mysql表中,其中第一个数组的项(名称,年龄,性别)是列标题,而每个后续数组是表中的一行。 有人能建议我做这件事的最好方法,因为我撞墙了,这使我头疼! 问题答案: 以下代码将起作用,但是假定所有嵌套数组的长度都相同,换句话说,每个嵌套数组都包含第一个嵌套数组中定义的所有属性的值。 只要所有其他嵌套数组的长度相同,该解决方案就可

  • 问题内容: 当前,当通过print_r()输出时,我有一个类似于以下内容的数组; 我想将此数据插入到一个表中,每个元素值都属于其各自的字段。 目前,我的php代码如下所示 注意:R_ID不是此表中的主键。 有人可以帮助我了解如何应对这种情况吗?感谢您的阅读和帮助! 问候。 问题答案: 我会避免对每个条目进行查询。

  • 主要内容:使用 MySQLi 和 PDO 向 MySQL 插入数据,实例 (MySQLi - 面向对象),实例 (MySQLi - 面向过程),实例 (PDO)使用 MySQLi 和 PDO 向 MySQL 插入数据 在创建完数据库和表后,我们可以向表中添加数据。 以下为一些语法规则: PHP 中 SQL 查询语句必须使用引号 在 SQL 查询语句中的字符串值必须加引号 数值的值不需要引号 NULL 值不需要引号 INSERT INTO 语句通常用于向 MySQL 表添加新的记录: 学习更多关于

  • 当前,我有一个数组,当通过print_r()输出时,该数组如下所示; 我想将此数据插入到一个表中,每个元素值都属于其各自的字段。 问候。

  • 问题内容: 嗨,我正在尝试将json数组插入我的MySQL数据库。我从我的iPhone传递数据,我已经将数据转换为json格式,并使用未插入服务器的url将数据传递到服务器。 这是我的json数据。 [{“ name”:“ 0”,“ phone”:“ dsf”,“ city”:“ sdfsdf”,“ email”:“ dsf”},{“ name”:“ 13123123”,“ phone”:“ sd

  • 主要内容:使用 MySQLi 和 PDO 向 MySQL 插入多条数据,实例 (MySQLi - 面向对象),实例 (MySQLi - 面向过程),实例 (PDO),使用预处理语句,实例 (MySQLi 使用预处理语句)使用 MySQLi 和 PDO 向 MySQL 插入多条数据 mysqli_multi_query() 函数可用来执行多条SQL语句。 以下实例向 "MyGuests" 表添加了三条新的记录: 实例 (MySQLi - 面向对象) <?php $servername = "loc