-1

私のウェブサイトをいじっていると、それは座席予約のウェブサイトです。まだアルファ版テスト中なので、明らかな理由でまだ公開されていません。

ただし、データベースの値を更新する際にいくつか問題があります。

コードを投稿してから、問題を説明します。

     else {

   $seatID = $_POST['form_submitted'];

$query1 = "SELECT seatTaken FROM SEATS WHERE seatNo = '$seatID'";
            $result = mysql_query($query1);  
            while($row = mysql_fetch_array($result))
            {
               $taken = $row['seatTaken'];  
            }


$query2 = "SELECT passNo FROM PASSENGER WHERE username = '$loggedinuser'";
            $result = mysql_query($query2);  
            while($row = mysql_fetch_array($result))
            {
               $passno = $row['passNo'];  
            }


$query3 = "SELECT groupID FROM PASSENGER WHERE username = '$loggedinuser'";
            $result = mysql_query($query3);  
            while($row = mysql_fetch_array($result))
            {
               $groupno = $row['groupID'];  
            }

$query4 = "SELECT flightNo FROM PASSENGER WHERE username = '$loggedinuser'";
            $result = mysql_query($query3);  
            while($row = mysql_fetch_array($result))
            {
               $flightno = $row['flightNo'];  
            }


  // if ($taken = 0) {

 $update = mysql_query("UPDATE PASSENGER SET seatNo = $seatID WHERE username = '$loggedinuser'");
 $update2 = mysql_query("UPDATE SEATS SET seatTaken = 1, passNo = '$passNo', groupID = '$groupid' WHERE seatNo = '$seatID'");
 // AND flightNo = '$flightno'"
   echo '<meta http-equiv="refresh" content="5;url=http://www.mywebsite.com/">';
       echo mysql_error();

  //}

 }

 ?>

ユーザーは前のフォームで座席を選択したため、次のようになります。

 $seatID = $_POST['form_submitted'];

ただし、私のクエリの一番下で、この PHP コードが実行されたときにデータベースで実際に変更される唯一の値は、'seatTaken' のブール値であり、0 (占有されていない) から 1 (占有されている) に変化します。

私のデータベースのフィールド passNo と groupID は、これらのクエリでここで参照されているように更新されません:-

 $update = mysql_query("UPDATE PASSENGER SET seatNo = $seatID WHERE username =     '$loggedinuser'");
 $update2 = mysql_query("UPDATE SEATS SET seatTaken = 1, passNo = '$passNo', groupID = '$groupid' WHERE seatNo = '$seatID'");

誰でも助けることができますか?どうもありがとう!

トム

4

2 に答える 2

1

変数の命名と文字列の引用に注意してください

mysql で値を探す場合、通常は文字列リテラル (引用符を追加) である必要があります。そして、あなたの他の問題は変数名です:

$update = mysql_query("UPDATE PASSENGER SET seatNo = '$seatID' WHERE username = '$loggedinuser'");
$update2 = mysql_query("UPDATE SEATS SET seatTaken = 1, passNo = '$passno', groupID = '$groupno' WHERE seatNo = '$seatID'");
  • $passno 対 $passNo
  • $groupid 対 $groupno

また、ユーザーhttp://php.net/manual/en/function.mysql-real-escape-string.phpからの入力を適切にエスケープする必要があります。

于 2012-04-07T14:45:31.950 に答える
0

コードでは、$groupid、$passNo、$seatID の値をどのように生成するのかわかりません。これらの変数は、更新時に設定されていますか? (SQLコードをエコーし​​て、データベースに送信されているクエリを確認してください)

groupid がフォーム内のフィールドの名前である場合は、$_POST['groupid'] のように、ポスト リクエストから変数を取得してみてください。

于 2012-04-07T14:41:32.943 に答える