-2
MySQL에서 PDO로 전환 중이며이 쿼리가 정확한지 확신 할 수 없습니다. if 명령을 작성해야합니다.PDO 로의 MySQL 쿼리
public function User_Login($_iUsername,$_iPassword) {
$username=mysql_real_escape_string($_iUsername);
$password=mysql_real_escape_string($password);
$md5_password=md5($_iPassword);
$query=mysql_query("SELECT _iD FROM users WHERE _iUsername='$_iUsername' and _iPassword='$md5_password' AND _iStatus='1'");
if(mysql_num_rows($query) == 1) {
$row = mysql_fetch_array($query);
return $row['_iD'];
} else {
return false;
}
}
public function User_Login($_iUsername,$_iPassword) {
$md5_password = md5($_iPassword);
$sth = $db->prepare("SELECT _iD FROM users WHERE _iUsername='$_iUsername' and _iPassword='$md5_password' AND _iStatus='1'");
$sth->execute();
$result = $sth->fetchAll();
}
쿼리를 매개 변수화하면 SQL 주입 공격을 방지 할 수 있으므로 이점이 있습니다. – cdmckay
'execute' 매개 변수는 배열이어야합니다. 'numRows'는'rowCount'이어야하며,'FETCH_ARRAY'라는 상수는 없습니다. –
@JordanDoyle은 이미 다른 것들을 수정했지만'FETCH_ARRAY'를 업데이트했습니다. –