쿼리 문자열에서 오는 변수가 있습니다 (걱정하지 않아도됩니다). 내 SQL 쿼리에 변수를 추가하는 방법을 알려주십시오. 내 변수 :변수 MySql 쿼리 정렬 및 주문
$order = "ASC";
if(isset($_POST['sort'])){
if($_POST['sort']=="date"){
$sort = "date";
}
else if($_POST['sort']=="pricelow"){
$sort = "Price";
}
else if($_POST['sort']=="pricehigh"){
$sort = "Price";
$order = "DESC";
}
}
그리고 아래에있는 내 쿼리 :
$order = " DESC";
당신은 사용할 수 있습니다 :
mysql_query("SELECT * FROM event ORDER BY '$sort' '$order'");
'$ sort' 및'$ order' 주위에 작은 따옴표를 제거하십시오. –
당신에게 물어 봤으면 좋겠어요. 제발, [새 코드에서 mysql_ * 함수를 사용하지 마십시오] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). 더 이상 유지 관리되지 않으며 [공식적으로 권장되지 않습니다] (https://wiki.php.net/rfc/mysql_deprecation). ** Prepared Statements **에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/mysqli)를 사용하십시오. 빠른 수행 방법과 왜 그렇게 중요한지에 대해서는 [이 기사] (http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php)를 참조하십시오. –
Akam이 필드 이름이 인용되지 않는다고 말한 것과 관련하여 ASC DESC 키워드도 마찬가지입니다. 시간 필드 이름들만 "따옴표 붙이기"가 필요합니다. 이름은 mysql 키워드와 일치 할 때만 사용됩니다. –