내 웹 사이트를 방문한 적이 있는데, 이는 예약 예약 웹 사이트입니다. 아직 알파 테스트 중이므로 분명한 이유로 대중에게 공개되지 않습니다.PHP 사이트의 mySQL 쿼리에서 Database의 값 업데이트 문제
그러나 데이터베이스의 값을 업데이트 할 때 몇 가지 문제가 있습니다.
내가 코드를 게시 한 후 문제를 설명 할 것이다.. 사용자가 따라서 이전의 형태로 자신의 좌석을 선택합니다 이제
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 코드가 실행될 때 실제로 데이터베이스에서 변경되는 유일한 값은 0 (점유하지 않음)에서 1 (점유 됨)으로 변경된다는 점에서 'seatTaken'의 부울 값입니다. 이러한 쿼리 여기에 참조로
내 데이터베이스에서 필드 passNo와 그룹 ID는 업데이트되지 않습니다 : -
$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'");
이 수 누군가가 도움이 있나요? 많은 감사합니다!
톰
'UPDATE'를 실행하면 쿼리를 출력하고 'exit()'를 출력합니다. 디버깅하려면 데이터베이스에 대해 수동으로 실행하고 왜 실행되지 않는지 확인하십시오. 잘못된'WHERE' 절, 아마도? – halfer
이 사실을 알고있을 수도 있지만이 코드에는 SQL 주입 취약점이 있습니다. 매개 변수 바인딩을 사용하거나 적어도 오염 된 입력을 피하십시오. – halfer