function renew_status($propertyId){
$code = '';
$code = mt_rand(500000, 999999);
$q = "UPDATE `ps_listings` SET
`accessCode` = $code,
`renew` = '0'
WHERE `id` = $propertyId ";
mysql_query($q) or die(mysql_error());
$this->db->select('accessCode')->from('ps_listings');
$this->db->where(array('id' => $propertyId));
$query = $this->db->get();
$results = $query->result();
return $results[0]->accessCode;
}
我正在通过codeigniter函数更新mysql表。第一次当我访问我的功能时,它会更新错误的数字,但如果我刷新页面,则更新正确的值。 return $ results [0] - > accessCode;给我这个代码893195.而在数据库中它保存997228.请帮帮我
答案 0 :(得分:0)
1)使用mysql_affected_rows进行检查工作更新或否。 2)我认为刷新页面是错误的方式。使用Session拒绝双重更新。 3)用于在更新之前,之后和之后调试检索和打印accessCode 结果(UI)。
答案 1 :(得分:0)
试试这个
function renew_status($propertyId){
$code = '';
$code = mt_rand(500000, 999999);
$data = array('accessCode' => $code, 'renew' => '0');
$this->db->where('id',$propertyId);
$this->db->update('ps_listings',$data);
$this->db->select('accessCode');
$this->db->where('id',$propertyId);
$query = $this->db->get('ps_listings');
$results = $query->result_array();
return $results[0]->accessCode;
}
答案 2 :(得分:0)
1)“id”列是唯一的而不是null?
2)以下代码返回什么:
echo count($results);