2014-10-28 74 views
0

有兩個PHP語句:執行相關的語句

1) $this->db->query($sql); 
2) $this->db->query($sql2); 

如何確保如果只有第一個執行第二條語句執行?

我試圖像下面,但它不工作。

$query = $this->db->query($sql); 
if($query != NULL) { 
$this->db->query($sql2); 
} 
+2

它是如此簡單的變化'如果($查詢!= NULL)'來'如果($查詢)' – Rizier123 2014-10-28 09:48:20

+0

你是什麼意思「執行」 ?沒有錯誤?返回結果?另外,我們不知道'this-> db'是什麼。你在使用框架嗎? – georg 2014-10-28 09:51:30

+0

是的,我正在使用一個框架,它是codeigniter – 2014-10-28 09:59:03

回答

1

試試這個

$query = $this->db->query($sql); 
if(!empty($query)) { 
$this->db->query($sql2); 
} 
+0

'如果($查詢)'本來可以更甜蜜;) – 2014-10-28 11:50:25

1

你可以試試這個:

$query = $this->db->query($sql); 
$count = count($query); 

if($count != 0) { //means if the first query returned some rows... 
$this->db->query($sql2); 
} 
1

有兩種方法可以做到這一點,這取決於是否如果q。你想這樣做uery成功運行,或者是否實際影響某些行

方法1(如果查詢失敗,這意味着它並沒有因爲語法錯誤運行)方法2

$query = $this->db->query($sql); 
If($query != false) $query2 = $this->db->query($sql2); 

(如果查詢影響一行以上,這意味着它沒有錯誤,但沒有行符合其標準)

$query = $this->db->query($sql); 
If($query->affected_rows > 0) $query2 = $this->db->query($sql);