0

10 進数 8,2 を含む 2 つのリクエストの結果があります。

この変数の減算を行い、結果をデータベースに追加しようとしています。

通常、私はそれが好きです $var1-$var2

そこで、次のリクエストがあります。

$requete= 'UPDATE `decompte` SET
principal_s         = '.$pay['principal_s']-$donnees2['principal_s'].',
clause_penale_s     = '.$pay['clause_penale_s']-$donnees2['clause_penale_s'].',
domages_interets_s  = '.$pay['domages_interets_s']-$donnees2['domages_interets_s'].',
art700_cpc_s        = '.$pay['art700_cpc_s']-$donnees2['art_700_cpc_s'].',
art475_1_cpp_s      = '.$pay['art475_1_cpp_s']-$donnees2['art475_1_cpp_s'].',
art_441_6_cc_s      = '.$pay['art_441_6_cc_s']-$donnees2['art_441_6_cc_s'].',
frais_ar_s          = '.$pay['frais_ar_s']-$donnees2['frais_ar_s'].',
agios_s             = '.$pay['agios_s']-$donnees2['agios_s'].',
depens_s            = '.$pay['depens_s']-$donnees2['depens_s'].',
frais_execution_s   = '.$pay['frais_execution_s']-$donnees2['frais_execution_s'].',
contrib_aid_juridiq_s   = '.$pay['contrib_aid_juridiq_s']-$donnees2['contrib_aid_juridiq_s'].',
frais_greffe_s          = '.$pay['frais_greffe_s']-$donnees2['frais_greffe_s'].'';

mysql_query($requete) or die(__LINE__.mysql_error().$requete); 

問題は、それが私に間違いを表示することです、それは言います:

SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 ~ 5000 行目の「-5000」付近で使用する正しい構文を確認してください。

私は少し道に迷っています。実際に何が起こったのかわかりません。

どんな種類の助けやアドバイスも大歓迎です

4

2 に答える 2

3

すべての減算を括弧内に入れます。例えば:

principal_s         = '.($pay['principal_s']-$donnees2['principal_s']).',
clause_penale_s     = '.($pay['clause_penale_s']-$donnees2['clause_penale_s']).',

PHP は最初に連結を実行し、次に算術演算を評価します!

于 2012-10-05T15:11:29.010 に答える
1

これは PHP の興味深い問題です。

連結演算子は、減算演算子の前に評価されます。

行を括弧で囲むと、次のように機能します。

principal_s         = '.($pay['principal_s']-$donnees2['principal_s']).',

この問題は、何が原因であるかを突き止める前に、月に数時間のストレスを引き起こしました.

于 2012-10-05T15:10:30.200 に答える