2017-08-14 98 views
0

我在PHP 7.1的Apache web服務器上的一個非常簡單的mysqli聲明:插入選擇問題的mysqli PHP

INSERT INTO user SELECT * FROM user_geloescht WHERE id = '294930'; 

這應該用戶複製到一個單獨的表中刪除的用戶。但是當我運行腳本時,數據庫沒有任何反應。當我將該陳述複製到我的mariadb cli時,它沒有任何錯誤。

我已經找了一個類似的「從用戶顯示列」和... user_geloescht輸出,但不能解決它。

我會給你一些調試,但查詢結果是正確的 - >所以沒有錯誤。

什麼可能是錯誤的或我可以提供什麼輸出?

編輯:正如我在評論中寫的 - 它在我插入選擇後立即執行代碼退出時起作用,因此它可能是關於提交的內容。

一個在用戶表這是後插入 - 選擇進行用戶ID刪除,也無任何影響

我將讓您及時瞭解最新的我試圖強迫提交後。

把PHP代碼是否不容易通過我的階級結構和參數處理某些功能

+0

請使用提供給您的調試[功能](http://php.net/manual/en/mysqli.error.php)幫助我們幫助您幷包含您的所有代碼。 – Script47

+3

請發佈php代碼 –

+0

您確定「user_geloescht」確實包含用戶標識「294930」? –

回答

0

哦,我想我需要更多的咖啡:D。

問題是,everythink正常工作,但我處理它都是錯誤的。

插入選擇沒問題,但是我的刪除指向了錯誤的表格,所以我將用戶從user_geloescht表複製到用戶表,但刪除了用戶表上的複製用戶而不是user_geloescht表。

感謝你的努力 - >我會要求一些節日:d

0

之間產生,這是語法:

INSERT INTO user (name)SELECT name FROM user WHERE id = 294930 

假設你只有在一個有一列用戶表稱爲名稱。我不知道user_geloescht是什麼意思。是表格還是列名。

+0

有兩個表:user和user_geloescht,它們都具有相同的結構(它的歷史錯誤)具有大約190列,所以我不會在語句中命名每個列,它只是相同的結構 –

+0

INSERT INTO this_table_archive(*)SELECT * FROM this_table WHERE id = 294930;只要確保2表的列是相同的。相同的名稱和列數。 – Deee