작은 따옴표 사용시 차이점이 있습니까? 전체 SQL 쿼리를 큰 따옴표로 묶어서 사용 하시겠습니까?PHP - SQL 쿼리를 작은 따옴표 나 큰 따옴표로 묶으시겠습니까?
어느 것이 더 낫다 : (작은 따옴표 포함)
이 방식 :
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$sql = 'SELECT * FROM users WHERE username = "' . $username . '" AND password = "' . $password . '" LIMIT 1';
?
또는이 접근
(따옴표 사용) :$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$sql = "SELECT * FROM users WHERE username = '{$username}' AND password = '{$password}' LIMIT 1";
이 작업을 수행 할 수있는 더 좋은 방법이 있나요?
나는 항상 PHP에서 작은 따옴표를 선호하므로 첫 번째 접근 방식을 좋아합니다. 그래서 전체 SQL 쿼리를 작은 따옴표로 묶어서 사용하는 것이 좋으며, 변수 나 데이터 주위에 큰 따옴표를 사용하는 것이 좋으며 크로스 플랫폼이며 MySQL 이외의 데이터베이스에서도 사용할 수 있습니다.
실수 일 수 있지만 보간 (두 번째 방법)이 연결 (첫 번째)보다 빠릅니다. – Phil
[SQL 주입 공격] (http://xkcd.com/327/)의 영향으로 인해 권장되지 않습니다. . PDO 또는 준비된 진술을 적극 권장합니다. –
@OMG Pony : 'mysql_real_escape_string'을 사용하고 있습니다 만? – icktoofay