php - 使用 PHP 将数组插入 MySQL 数据库

标签 php mysql arrays

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

$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,
);

我已经尝试在 google 上搜索如何执行此操作,我所能找到的只是说明我的数组需要在插入表之前进行拆分的信息。这个对吗?抱歉天真,对php很陌生。

最佳答案

您不能将数组直接插入到 MySQL,因为 MySQL 不理解 PHP 数据类型。 MySQL 只理解 SQL。因此,要将数组插入 MySQL 数据库,您必须将其转换为 SQL 语句。这可以手动完成,也可以由库完成。输出应该是 INSERT 语句。

Update for PHP7

Since PHP 5.5 mysql_real_escape_string has been deprecated and as of PHP7 it has been removed. See: php.net's documentation on the new procedure.


原答案:

这是一个标准的 MySQL 插入语句。

INSERT INTO TABLE1(COLUMN1, COLUMN2, ....) VALUES (VALUE1, VALUE2..)

如果您有一个名称为 fbdata 的表,其中的列显示在数组的键中,您可以使用这个小片段插入。这是您的数组如何转换为该语句的方式。

$columns = implode(", ",array_keys($insData));
$link = mysqli_connect($url, $user, $pass,$db);
$escaped_values = array_map(array($link, 'real_escape_string'), array_values($insData));

$values  = implode("', '", $escaped_values);
$sql = "INSERT INTO `fbdata`($columns) VALUES ('$values')";

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

相关文章:

c# - 为什么我不能在 C# 中创建一个 object = bool?

php - 如何从 php5 中的表中获取生成的键

c - 如何将数据从数组发送到指针变量并从指针变量返回到数组?

php - Xdebug 无法连接到客户端,从哪里开始调试调试器?

php - 我正在开发一个 php 购物 list 函数/api

MySQL故障排除帮助,无法在单表上做任何事情

mysql - 学校时间表 : best database table design

java - 如何将列表的列表(多维列表)转换为数组的数组(多维数组)?

PHP 脚本未在浏览器上运行

php - SQL 插入不起作用