2016-08-04 71 views
-1

我正在嘗試執行2個查詢,但是每當我按照關於多個查詢的指南進行操作時,都不會執行任一查詢。關於多個查詢的說明

我想要做的第一個查詢是插入或添加任何用戶輸入$ HISTORY上當前在colHistory上的記錄; IE:

上colHistory當前數據:

在$歷史上

用戶輸入 'B',語法應加 'B' 的 'A' 這是當前記錄,或者 'AB' 。然後使用第二個查詢來更新此特定行上的所有其他記錄或列。

下面的代碼(請注意,「...」意味着更多的代碼,這是不必要的):

$query = INSERT INTO tbInventory SET colHistory='$HISTORY' WHERE colSerno='$SERIALNUM';"; 
$query .= "UPDATE tbInventory SET 

    colImage='$IMAGE', 
    colSerno='$SERIALNUM', 

    ... 
    ... 

    colHistory='' 
    WHERE colSerno='$SERIALNUM'"; 

    mysqli_multi_query($con,$query); 

請注意,我宣佈colHistory爲‘’之前,我從插入表單中的數據。我不確定我是否正確地做這件事。有什麼我失蹤的?

*編輯:

我已經嘗試執行查詢逐一:

mysqli_query($con,"INSERT INTO tbInventory SET colHistory='$HISTORY' "); 
mysqli_query($con,"UPDATE tbInventory SET 
... 
... 

colHistory='' 
WHERE colSerno='$SERIALNUM'"; 

然而,這似乎並沒有任何工作,整個事情被忽略。

(**我上面,我已經可以打印結果的代碼塊下面的腳本,它不運行)

+0

爲什麼不只是mysqli_query一個接一個呢?你不必使用它,直到你沒有其他選擇,或者它有一些好處 – SIDU

+0

我試過使用,但代碼塊似乎忽略它,就像它使用上面的多查詢代碼塊。 –

+0

啊。你的第一個SQL是無效的:插入到tbInventory(colHistory)值('$ HISTORY') - 請檢查MySQL插入手冊 – SIDU

回答

2

那麼我可以告訴你爲什麼你的第一個查詢被打破。 INSERT INTO tbInventory SET colHistory ='$ HISTORY'

此查詢使用UPDATE語法,但您要告訴查詢處理器期望INSERT INTO語法。所以查詢無法執行。

決定是否需要更新現有記錄或插入新記錄並更改查詢以反映該記錄。 (更改INSERT INTO更新或更改「Set colHistory ='$ History'」爲「Values('$ History','col2Val',等等......」)

至於第二個查詢,如果你可以顯示更多的查詢,我可以更新這個響應。

這是一個很好的關於插入的SO問題,但是你沒有發佈整個查詢很難說出發生了什麼。 VS

What are differences between INSERT and UPDATE in MySQL?

+0

他沒有錯誤報告工作 – Drew

+0

我想要做的是插入或添加任何用戶在$ HISTORY上輸入在當前colHistory上的記錄;即: 上colHistory當前數據: 一個 用戶輸入的$歷史記錄「B」,語法應加「B」的「A」這是當前記錄,或者「AB」;然後在第二個查詢上使用UPDATE函數。 –

+0

SQL手冊中'INSERT' stmts的WHERE子句在哪裏?這是一個[頁面](http://dev.mysql.com/doc/refman/5.7/en/insert.html) – Drew

0

更新。我結束了下降的多查詢方法,我也不知怎麼通過了cheati我的預期結果ng:

我分配了舊數據或當前在colHistory單元上的數據,顯示它,但我禁用了textarea。然後,我在腳本中創建了一個隱藏文本框,並將其隱藏在用戶視圖中。

然後,我將兩個textareas與我創建的新用戶連接起來,用戶可以修改,模擬所需的結果。