본문 바로가기
MySql

MySQL mysql_query 업데이트

by 베이스 공부 2021. 2. 3.
반응형

사용자가 일부 용어에 대해 '거부'버튼을 누를 때 실행되는 스크립트가 있습니다. 실행될 때 특정 영역에 대한 액세스 권한을 취소해야합니다. 어떤 이유로 든 스크립트가 작동하지 않습니다. MYSQL DB를 업데이트하지 않거나 오류가 발생하지 않기 때문입니다.

$username =  $_SESSION["USER"]["Username"]; 

mysql_connect("x", "y", "z") or die(mysql_error()); 
mysql_select_db("database") or die(mysql_error()); 
mysql_query("UPDATE `users` SET `SeceretArea`='Unauth' WHERE `Username`='$username'") or die(mysql_error());

 

해결 방법

 

디버깅 프로세스를 합산하기 위해 답변이 업데이트되었습니다.

오류가없는 경우 데이터베이스 항목이 발생하지 않는 이유에 대한 세 가지 가능성이 있습니다.

내 개인적인 경험에 따르면 mysql_query () 는 쿼리를 실행하기 전에 반드시 변수 값을 대체하지는 않습니다. 먼저 쿼리 문자열을 변수에 생성 한 다음 mysql_query () 에 전달합니다. 현재 설정은 $ username 을 해당 값으로 바꾸지 않습니다. 할 수있는 일은 다음과 같습니다.

...
$sql = "UPDATE `users` SET `SeceretArea`='Unauth' WHERE `Username`='$username'";
mysql_query($sql) or die(mysql_error());

그 외에도 USERNAME 에 원하는 값이있는 행이 있는지 표를 확인하세요. var_dump () $ username 으로 설정하여 의도 한 값인지 확인합니다.

또한 mysqli 또는 PDO 로 전환하는 것도 고려해야합니다. 객체 모듈로 마이그레이션하지 않으려면 mysqli 의 절차 함수를 사용할 수 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/11615303

 

 

반응형

댓글