有两个php声明:
1) $this->db->query($sql);
2) $this->db->query($sql2);
如果只执行第一个语句,如何确保执行第二个语句?
我尝试过如下但是不起作用。
$query = $this->db->query($sql);
if($query != NULL) {
$this->db->query($sql2);
}
答案 0 :(得分:1)
试试这个
$query = $this->db->query($sql);
if(!empty($query)) {
$this->db->query($sql2);
}
答案 1 :(得分:1)
你可以试试这个:
$query = $this->db->query($sql);
$count = count($query);
if($count != 0) { //means if the first query returned some rows...
$this->db->query($sql2);
}
答案 2 :(得分:1)
$query = $this->db->query($sql);
if(mysql_affected_rows() > 0) {
$this->db->query($sql2);
}
答案 3 :(得分:1)
有两种方法可以做到这一点,这取决于您是否想要在查询成功运行或是否实际影响某些行时执行此操作
方法1(如果查询失败,意味着由于语法错误而未运行)
$query = $this->db->query($sql);
If($query != false) $query2 = $this->db->query($sql2);
方法2(如果查询影响了一行或更多行,意味着它没有错误但没有符合其条件的行)
$query = $this->db->query($sql);
If($query->affected_rows > 0) $query2 = $this->db->query($sql);