1

構文が間違っているように感じますが、何が起こっているのかを絞り込むことができません。phpMyAdmin SQLクエリでステートメントを実行することに問題はないので、正しい方向に向けられることを願っています。私のコードは次のとおりです。

else if ($resultdetails === 1) {
    $query3 = "update customer_det set `10k`='$_10k', 
      `14k`='$_14k', `18k`='$_18k', `21k`='$_21k', `22k`='$_22k', 
      `24k`='$_24k', `925k`='$_925k', `coins`='$coins', `bars`='$bars' 
      where `id` = '".$uid."'";
    $result3 = mysql_query($query3);
}

$resultdetailsEXISTS関数で設定された変数です。SQLクエリでは、1探している行が存在するため、返されます。したがって、問題はないはずです。

ダブル==とトリプルを試してみましたが、結果に違いはないようです。トリプル===は、それが同一であること、つまりデータ型が同じで値が同じであることを意味すると思います。

ここでの問題はWHEREステートメントだと思います。任意のアイデアや提案をいただければ幸いです。customer_detこれが更新されるテーブルでありid、自動インクリメントされる主キーであることを忘れました。$uidデータベースからも変数を取得します。

4

2 に答える 2

1

あなたのSQLクエリは正しいです!しかし、あなたelse ifが問題です!追加===して変更するのを==見てください。変数の宣言にも疑問があります。コードは次のようになります。

else if ($resultdetails == 1) {
$query3 = "update customer_det set `10k`='".$_10k."',
`14k`='".$_14k."', `18k`='".$_18k."',
`21k`='".$_21k."', `22k`='".$_22k."', `24k`='".$_24k."', `925k`='".$_925k."', `coins`='".$coins."', `bars`='".$bars."' where `id` = '".$uid."'";
$result3 = mysql_query($query3);
}

編集:

 if (CONDITION :: IF FOUND ON DATABASE) {
  $query3 = "update customer_det set `10k`='".$_10k."',
 `14k`='".$_14k."', `18k`='".$_18k."',
 `21k`='".$_21k."', `22k`='".$_22k."', `24k`='".$_24k."', `925k`='".$_925k."',        `coins`='".$coins."', `bars`='".$bars."' where `id` = '".$uid."'";
 $result3 = mysql_query($query3);
 } else {
 // Insert query if not found
 }
于 2012-11-01T12:55:00.673 に答える
0

$uidおよびのデータ型を確認します$_blahblah

このクエリを試してください-

else if ($resultdetails == 1) {
    $query3 = "update customer_det set `10k`='$_10k', 
      `14k`='$_14k', `18k`='$_18k', `21k`='$_21k', `22k`='$_22k', 
      `24k`='$_24k', `925k`='$_925k', `coins`='$coins', `bars`='$bars' 
      where `id` = $uid";
    $result3 = mysql_query($query3);
}
于 2012-11-01T12:50:17.437 に答える