在函数pdo中输入数组
I'm trying to make a unified function for a PDO prepare UPDATE statement. But I am doing something wrong. Help would be very much appreciated.
I'm passing an array and an email to a function:
function refreshUserData($items,$email)
{
global $pdo;
$keys = array_keys($items);
$keys = '('. implode(",", $keys) . ')';
$values = array_values($items);
$values = '(\''. implode("','", $values) . '\')';
$query = $pdo->prepare("UPDATE users SET $keys VALUES $values WHERE email=?");
$query->bindValue(1,$email);
$query->execute();
}
But I am doing something wrong because when I try to run a function Uncaught exception
This is my first attempt at doing this so don't know what to do.
Array being passed through:
Array ( [google_id] => 11111111111111 [emal] => email@gmail.com [first_name] => First [last_name] => Last [profile_url] => https://plus.google.com/+FirstLast )
And after implodes:
(google_id,emal,first_name,last_name,profile_url)
('11111111111111','email@gmail.com','First','Last','https://plus.google.com/+FirstLast')
我正在尝试为PDO准备UPDATE语句创建统一函数。 但我做错了。 非常感谢帮助。 p>
我将数组和电子邮件传递给函数: p>
function refreshUserData($ items ,$ email)
{
global $ pdo;
$ keys = array_keys($ items);
$ keys ='('。implode(“,”,$ keys)。')'; \ n
$ values = array_values($ items);
$ values ='(\''。implode(“','”,$ values)。'\')';
$ query = $ pdo - > prepare(“UPDATE users SET $ keys VALUES $ values WHERE email =?”);
$ query-> bindValue(1,$ email);
$ query-> execute();
}
code> pre>
但我做错了,因为当我尝试运行一个函数 Uncaught exception code> p>
这是我第一次尝试这样做,所以不知道该怎么做。 p>
传递的数组: p>
Array( [google_id] => 11111111111111 [emal] => email@gmail.com [first_name] =>首先[last_name] =>最后[profile_url] => https://plus.google.com/+FirstLast )
code> pre>
内爆后: p>
(google_i d,EMAL,名字,姓氏,PROFILE_URL)
( '11111111111111', 'email@gmail.com', '第一', '尾', '的https://plus.google.com/+FirstLast')
code> pre>
div>
You have an error in your syntax UPDATE syntax is always like:
UPDATE tablename
SET columname = 'value', othercolumn = 'othervalue'