2016-08-04 10 views
-1

私は2つのクエリを実行しようとしていますが、私はマルチクエリについてオンラインでガイドに従うたびに、どちらのクエリも実行しません。マルチクエリについての明確化

私が最初のクエリで行っているのは、現在colHistoryにあるレコードの$ HISTORYにユーザーが入力したものをINSERTまたはADDすることです。 IE:colHistory上

現在のデータ:$履歴に

ユーザ入力 'B'、構文は '' それはレコードで、現在だ、または 'AB' に 'B' を追加する必要があります。次に、2番目のクエリを使用して、この特定の行の他のすべてのレコードまたは列を更新します。

は、ここで(「...」不要ですより多くのコードを意味しますのでご注意ください)コードです:私はcolHistoryを宣言したところ

$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); 

に注意してください 『』のように、私は、フォームからのデータを挿入する前に。私はこの部分を正しくやっているかどうか分からない。私が行方不明のものはありますか?

*編集:私はすでにとして1によってクエリのいずれかを実行しようとしている

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

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

しかし、どちらか動作するようには思えない、全部は無視されます。

(**私はすでに結果を印刷可能性がどこ上記のコードブロックの下のスクリプトを持って、それが実行さん)

+0

なぜmysqli_queryが1つずつではないのですか?他の選択肢がないか、いくつかの利点があるまで使用する必要はありません – SIDU

+0

私はこれを使ってみましたが、上記のマルチクエリコードブロックを使用した場合と同様に、コードブロックはそれを無視しているようです。 –

+0

ああ。あなたの最初のSQLは無効です:tbInventory(colHistory)の値( '$ HISTORY')に挿入してください - MySQL挿入マニュアルを確認してください – SIDU

答えて

2

あなたの最初のクエリが壊れている理由はまあ、私はあなたを伝えることができます。 INSERT INTO tbInventory SET colHistory = '$ HISTORY'

このクエリはUPDATE構文を使用していますが、クエリプロセッサにINSERT INTO構文が必要であることを伝えています。したがって、クエリは実行できません。

既存のレコードを更新する必要があるのか​​、新しいレコードを挿入するのかを決定し、それを反映するようにクエリを変更します。 (INSERT INTOをUPDATEに変更するか、 "colHistory = '$ History'を" Values( '$ History'、 'col2Val'など...)に変更してください。

2番目のクエリでは、あなたが表示しているものからは問題ありませんが、クエリ全体を投稿することは難しいので、そこに何が起こっているのかを伝える必要はありません。アップデート対。

What are differences between INSERT and UPDATE in MySQL?

+0

彼はエラー報告機能を持っていません – Drew

+0

私がしようとしているのは、現在colHistoryにあるレコードの$ HISTORYにユーザーが入力したものをINSERTまたはADDすることです。すなわち:colHistory上 現在のデータ: $履歴に入力「B」は、構文はレコードで、現在だ、または「AB」「A」に「B」を追加する必要があります ユーザー。 2番目のクエリでUPDATE関数を使用します。 –

+0

SQLマニュアルの 'INSERT'ステートメントの' WHERE'節はどこにありますか?ここでは[Page](http://dev.mysql.com/doc/refman/5.7/en/insert.html) – Drew

0

私は、マルチクエリメソッドを落としてしまったと私は何とかcheatiで私の意図した結果を得ましたng:

colHistoryセルに現在ある古いデータまたはデータを割り当てて表示しましたが、テキスト領域を無効にしました。私はそれから、スクリプト内に古いデータが入っているもう1つの隠しテキストボックスを作成し、それをユーザービューに隠しました。

私は、作成した新しいテキストエリアと両方のテキストエリアを連結して、ユーザーが変更したい結果をエミュレートできるようにしました。