2015-02-05 45 views
0

我有一個MySQL查詢,不僅可以從PhpMyAdmin正常工作,而且似乎可以從PHP成功運行。PHP - > exec()成功,但沒有存儲在表中?

我的SQL語句基本上是這樣的:

$query = "INSERT INTO store_to_status 
    (
     XYZ_id, ABC, DEF, GHI, JKL, MNO 
    ) 
    (
     SELECT XYZ_id, ABC, DEF, GHI, JKL, MNO 
      FROM status_table WHERE obj_type = $obj_type 
    )"; 
$db->exec($query); 

當我嘗試運行此聲明,沒有記錄插入到表中。

但 - 當我echo exec(),它回聲是應該插入的行數。更有趣的是,ID列(它被設置爲自動遞增)認爲插入是成功的(意思是說,如果我試圖在這個語句後面插入一個測試記錄,並且運行這個頁面幾次,每個測試記錄ID之間有7個數字)!

我不知道發生了什麼,請幫助!

+0

這是sql server還是mysql?你已經標記了兩個。 – 2015-02-05 21:22:34

+0

您是否嘗試過調試您的代碼(即查看錯誤消息)? – 2015-02-05 21:22:43

+0

@ MikeBrant-yep,沒有出現錯誤:( – 2015-02-05 21:25:45

回答

0

即使未插入任何值,INSERT也是成功的。確保你的SELECT實際上返回行。

+0

我認爲它是返回的東西,因爲echo echo是它應該複製的行數... – 2015-02-05 21:47:16

+0

你可以通過在你的php中執行select語句來驗證嗎? – 2015-02-05 21:58:32

+0

- 是的,我已經驗證過。也許在整體查詢的上下文中不起作用,但是當單獨採用時,它肯定會工作 – 2015-02-05 22:00:32

相關問題