[상태 : 학습자]매개 변수화 된 쿼리를 수행하는 방법
매개 변수가있는 쿼리를 구현하려고하는데 문제가 있습니다. 조나단 샘슨 (Jonathan Sampson)은 최근 이것이 어떻게 수행 될 수 있는지 암시했지만 (# 2286115), 나는 그의 제안을 올바르게 따르지 않을 것입니다. 여기 내 스크립트
$cGrade = "grade" ;
include_once ("db_login.php") ;
$sql = "SELECT last_name AS last_name
, first_name AS first_name
, grade AS gr
, ethnic AS eth
, sex AS sex
, student_id AS id_num
, reason AS reason
, mon_init AS since
FROM t_tims0809
WHERE tag <> '' AND
tag IS NOT NULL AND
schcode = {$schcode}
ORDER
BY ('%s') " ;
$qResult = mysql_query (sprintf ($sql, $cGrade) or ("Error: " . mysql_error())) ;
쿼리 구문에 의해 순서대로 grade
와 함께 잘 작동합니다.
감사합니다. MySQLi prepared statements 클래스 밖으로
당신은이를 사용하여주의 할을 "매개 변수"에 의한 순서는 사용자로부터옵니다. 이는 매개 변수에 대한 안전한 따옴표를 사용하여 실제 매개 변수화 된 쿼리가 아닌 문자열 대체를 수행하기 때문에 sQL 주입이 필요합니다. @ Xorlev의 제안을 사용하고 준비된 진술을 사용하는 것이 훨씬 낫습니다. – tvanfosson