У меня есть массивобновления кратного значения одного столбца таблицы в рамках ZEND
$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 есть столбец с именем «флагами» и " value_of_flags "в колонке„флаги“есть много флагов, но я хочу UPDATE только these.i среднего кала, смс, контакты, просмотр история, фото в приведенном выше массиве позволяет говорить [cal] => 1
так что„кал“является имя флага, и я хочу установить значение 1 или 0 в столбец «value_of_flags», WHERE CLAUSE ll be «где 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 . .
. . .
. . .
EDITED
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
thanQ очень сэр, но почему это $ whereStr = "id =". (INT) $ Id; ?? –
сэр как исправить этот $ myDbTable ????? –
'$ whereStr' - это ваше предложение WHERE. Вы хотите «ОБНОВИТЬ» только строку с «id = 555». '$ myDbTable' - это экземпляр' Zend_Db_Table_Abstract' с '$ _name =" my_table "' – bububaba