본문 바로가기
MySql

MySQL mysqli_real_escape_string, 사용해야합니까?

by 베이스 공부 2021. 1. 17.
반응형

SQL 주입을 제거하고 싶습니다. mysqli_real_escape_string () 을 사용해야합니까, 아니면 mysqli에서 명확합니까? 예를 들면

$nick = mysqli_real_escape_string($_POST['nick'])

 

해결 방법

 


이 예제는 문서에서 가져온 것입니다.

/* create a prepared statement */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {

    /* bind parameters for markers */
    $stmt->bind_param("s", $city);

    /* execute query */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($district);

    /* fetch value */
    $stmt->fetch();

    printf("%s is in district %s\n", $city, $district);

    /* close statement */
    $stmt->close();
}

이 예에서는 mysqli_real_escape_string 을 호출하지 않습니다 . 쿼리에 문자열을 직접 포함하는 경우에만 mysqli_real_escape_string 을 사용하면되지만 절대 이렇게하지 않는 것이 좋습니다. 가능하면 항상 매개 변수를 사용하십시오.

관련


 

참조 페이지 https://stackoverflow.com/questions/14011899

 

 

반응형

댓글