다음 코드를 보면 $city
을 도주하고 위생 처리해야합니까?준비된 PHP/MySQL 쿼리를 사용할 경우 입력을 살균해야합니까?
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$city = "Amersfoort";
/* 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();
}
/* close connection */
$mysqli->close();
?>
준비된 쿼리를 사용할 때 입력을 위생해야합니까?
나무가 나무를 길에 넣었습니다. ;) –
예,하지만 준비된 문장은 종종 응용 프로그램 계층과 데이터 계층 모두에서 더 많은 리소스를 필요로합니다. "항상 준비된 문 사용"이라고 말할 때 조심하십시오. – Jmoney38
@ Jmoney38 Spot on, 모든 솔루션은 일반적인 방법으로 보이기 때문에 신중하게 선택하는 대신 생각해야한다고 생각합니다. – Sander