我正在开发abantecart的新屏幕,我需要查看数据库中是否存在用户标识。如果它已经存在,我需要更新,否则我必须插入。对于此即时通讯使用:
$sql = "SELECT * FROM ".$this->db->table("payment_details") . " WHERE user_id='" . $userid . "'";
$result = $this->db->query( $sql );
if(mysql_num_rows($result) >0)
但是在这里,if if条件总是返回false,而insert查询在else中执行。
如何在abantecart中使用mysql_num_rows
。
答案 0 :(得分:2)
我相信你可以使用if ($result->num_rows() > 0)
来做出决定。
有关CodeIgniter中的更多参考检查Generating Query Results。
或者也可以使用if ($result->num_rows > 0)
。检查解决方案in this post虽然那是$mysqli
对象。这是我的github中的gist,作为num_rows
实现的示例。
答案 1 :(得分:1)
$ sql = $ this-> db-> query(“SELECT * FROM”。$ this-> db-> table(“payment_details”)。“WHERE user_id ='”。$ userid。“ ““);
if($sql->num_rows >0){
我用这样的方法弄错了。
答案 2 :(得分:0)
试试这个...这个逻辑可以帮助你....使用这个$ this-> db-> count_all_results();
$sql = "SELECT * FROM ".$this->db->table("payment_details") . " WHERE user_id='" . $userid . "'";
$result = $this->db->query( $sql );
//work with this $this->db->count_all_results();
if(mysql_num_rows($result) >0)
{
//Write update query
}
else {
//Write Insert query
}