gpt4 book ai didi

mysql - Zend Framework 中的更新查询

转载 作者:可可西里 更新时间:2023-11-01 07:50:02 26 4
gpt4 key购买 nike

这个查询有什么问题???我需要这个查询。

UPDATE  user_preferences SET user_preferences_value = '2'
WHERE user_preferences_name = 'is_user_package_active'
AND user_id = '$user_id'
AND phone_service_id='$phone_service_id';

上面的查询等于下面的ZF查询

 function Deactivate_Service($user_id,$phone_service_id){
$DB = Zend_Db_Table_Abstract::getDefaultAdapter();
$data = array('user_preferences_value' => 2);
$where = "user_preferences_name = 'is_user_package_active' AND user_id = " . (int)$user_id ." AND phone_service_id = ".(int)$phone_service_id;
$DB->update('user_preferences',$data, $where);
}

我的 ZF 查询得到 0

已编辑:

public function deactivateserviceAction(){
$this->_helper->viewRenderer->setNeverRender();
$user = new Zend_Session_Namespace('user');
$user_id =$user->user_id;
$phone_service_id = $this->_getParam('phone_service_id');
//$Deactive = new Account();
$DB = Zend_Db_Table_Abstract::getDefaultAdapter();
$DB->query("UPDATE user_preferences SET user_preferences_value = '2'
WHERE user_preferences_name = 'is_user_package_active' AND user_id = '$user_id' AND phone_service_id='$phone_service_id'");
// $a = $Deactive->Deactivate_Service($user_id,$phone_service_id);
// var_dump($a);

}

最佳答案

你的“更新”调用似乎没问题,虽然在你的情况下最好使用以下语法来构建 WHERE 子句(但这是一种风格上的事情):

$data = array('user_preference_value' => 2);

$where = array(
'user_preferences_name = ?' => 'is_user_package_active',
'user_id = ?' => $user_id,
'phone_service_id = ?' => $phone_service_id
);

$DB->update('user_preferences', $data, $where);

所以我想问题出在您的默认适配器上。你确定你已经建立连接了吗?您能否使用相同的 $DB 对象成功运行 SELECT?尝试使用您的对象运行纯 SQL 更新,即 $DB->query('Your raw UPDATE query here') 看看它是否有效。

获取默认数据库的标准方法也是从 Zend_Db_Table 获取,但这也是风格化的。

关于mysql - Zend Framework 中的更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9990716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com