【发布时间】:2012-02-23 22:42:00
【问题描述】:
我有一个数组
$array_to_pass; //this array is created dynamically looks like this
Array
(
[cal] => 1
[sms] => 1
[contacts] => 0
[browsing] => 1
[history] => 0
[photo] => 0
)
现在我想更新名为“my_table”的表。在 my_table 中有名为“flags”和“value_of_flags”的列在“flags”列下有很多标志但我想 更新只有这些。我的意思是cal,短信,联系人,浏览,历史,照片
在上面的数组中让我们说[cal] => 1 所以“cal”是标志的名称,我想将 1 或 0 的值设置为“value_of_flags”列,
WHERE 子句将是“其中 id = $var”
我怎么写这个查询???
我的桌子是这样的
flags value_of_flags id
a 1 555
b 0 456
call 0 236
sms 1 122
e 1 456
contacts 0 777
g 0 555
browsing 0 888
i 1 112
photo . .
. . .
. . .
已编辑
function Save_User_Prefrences($array_to_pass,$phone_service_id){
$DB = Zend_Db_Table_Abstract::getDefaultAdapter();
//$whereStr = "phone_service_id = " . (int)$phone_service_id;
foreach ($array_to_pass as $key => $value) {
$DB->update('user_preferences',
array(
$key => $value
),
"phone_service_id = " . $phone_service_id
); }
错误
<b>Fatal error</b>: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'call' in 'field list in pdo.php
【问题讨论】:
标签: mysql zend-framework zend-db zend-db-table