php - 从数组中检索值以存储在表中

标签 php mysql pdo

我有以下从 Twitter 转储到我的网站上的数据数组。

array(4) {  
    ["oauth_token"]=> string(50) "19497918-McrcAAd1qrZwWaHljVPNbWVTSSrjolsybKwSXvtQ2" 
    ["oauth_token_secret"]=> string(39) "Mixl5gYZjxQqzGhs1q0GoP9DDBwxVDWfBRgldJE"    
    ["user_id"]=> string(8) "19497958" 
    ["screen_name"]=> string(6) "Liam" 
}

我想以某种方式将其存储在我的表中。我的表结构是:

id   |   oauth_token   |   oauth_token_secret   |   user_id   |   screen_name

我目前正在尝试使用以下语句插入我的数据

$qry = $conn->prepare('INSERT INTO users (access_token) VALUES (?)');
$qry->execute(array($access_token));

但是,这会引发页面错误,并且我的页面将不再加载。我该如何纠正这个问题?

最佳答案

鉴于您的变量已经是一个数组,并且非常适合 prepare()声明,执行以下操作:

$qry = $conn->prepare('INSERT INTO users 
              (oauth_token, oauth_token_secret, user_id, screen_name)
              VALUES (:oauth_token, :oauth_token_secret, :user_id, :screen_name)');
$qry->execute($access_token);

这就像我们通常在 PDO 中看到准备好的语句一样:

$qry = $conn->prepare('INSERT INTO users SET (oauth_token, oauth_token_secret, user_id, screen_name) VALUES (:oauth_token, :oauth_token_secret, :user_id, :screen_name)');
$qry->execute(array(
    'oauth_token' => "19497918-McrcAAd1qrZwWaHljVPNbWVTSSrjolsybKwSXvtQ2",
    'oauth_token_secret' => "Mixl5gYZjxQqzGhs1q0GoP9DDBwxVDWfBRgldJE",
    'user_id' => "19497958",
    'screen_name' => "Liam"
));

关于php - 从数组中检索值以存储在表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16798899/

相关文章:

mysql - 获取具有最大版本值但不活动的行

PHP - 文件未发送到数据库错误

javascript - PHP 和 JS 字符数不同

php - 找不到图像路径的 URL

mysql - 如何在 MySQL 中查找重复对

MySQL:聚合数据,在某个条件下聚合相同的数据,然后检查是否相等并保存在结果集中

php - 从性能的角度来看,将 MySQL 临时表用于高使用率的网站功能的效率如何?

php - SQLSTATE[HY093] : Invalid parameter number: parameter was not defined - using greater than operator in SQL

php - 通过ajax同时在多个数据库中执行更新查询

javascript - 为什么Chrome在加载后将我的页面称为XHR,并执行MySQLi插入两次?