사이트로부터 쿼리를 제출하여 MySQL 데이터베이스의 특정 레코드를 검색하려고합니다. 사이트 양식에서 쿼리를 실행할 때 '비어있는 쿼리 : 쿼리가 비어 있습니다'라는 mysql_error() 반환 값을 얻습니다.프런트 엔드 쿼리 및 PHP SQL 문
$Level = $_POST['level'];
$Year = $_POST['year'];
$Name = $_POST['name'];
$Award = $_POST['award'];
$query = mysql_query("SELECT *
FROM wineawards
WHERE LEVEL = $Level
OR YEAR = $Year
OR name = $Name
OR award = $Award
");
$result = mysql_query($query);
확실하지 내가 여기서 뭔가를 누락하거나 잘못을 입력하고 있다면?
는 항상 값을 게시하고 –
년이 ''$ Level'','$ Year''..and 다른 이들처럼 작은 따옴표로 변수를 감싸 열이 확인? – underscore
** 위험 ** : [오래된 ** 데이터베이스 API] (http://stackoverflow.com/q/12859942/19068)를 사용하고 있으며 [최신 대체] (http : // php. net/manual/ko/mysqlinfo.api.choosing.php). 또한 ** [SQL 주입 공격] (http://bobby-tables.com/) **에 현대적인 API를 사용하면 쉽게 방어 할 수 있습니다 ** (http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php)을 사용하십시오. – Quentin