基本上,我有兩個SQL腳本處理的SQL查詢。但是,我希望僅當第一個查詢成功刪除指定表中的一行時纔會執行第二個查詢。
那麼在執行第一個查詢之後,有沒有要求mysql_query()
函數返回true或false或什麼的?有沒有什麼辦法通過在SQL中執行DELETE指令返回一些東西?
如果沒有辦法這樣做,那麼我已經想出了一個實現我想要的結果的方法。但是,以這種方式做到這一點將會簡單得多,並且就我的代碼的邏輯而言,它會更有意義。
基本上,我有兩個SQL腳本處理的SQL查詢。但是,我希望僅當第一個查詢成功刪除指定表中的一行時纔會執行第二個查詢。
那麼在執行第一個查詢之後,有沒有要求mysql_query()
函數返回true或false或什麼的?有沒有什麼辦法通過在SQL中執行DELETE指令返回一些東西?
如果沒有辦法這樣做,那麼我已經想出了一個實現我想要的結果的方法。但是,以這種方式做到這一點將會簡單得多,並且就我的代碼的邏輯而言,它會更有意義。
你可以這樣做:
delete ....
select row_count()
這會給你刪除的行數(如果沒有則爲0)。 欲瞭解更多信息:http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_row-count
你介意詳細說明這個的實現嗎? – fvgs
我認爲你正在尋找一些像mySQL交易更正式的東西。
關於這種情況,stack有一個有用的帖子。
請停止使用'mysql_query'。這是20世紀90年代的一個接口,目前正在逐步淘汰,未來可能不會得到支持。使用'mysqli'或PDO創建混亂,需要花費一半時間才能清理。 [這並不難](http://bobby-tables.com/php),將來會爲您節省很多麻煩。 – tadman