ちゅーりんぐくんの備忘録

Injectionについて

SQL文を単純な文字列として扱うのはよくないです.単純な文字列だと書き換えなどの可能性がある.

 

$sql = "SELECT id FROM np_user WHERE id = '$loginUser' AND password = '$loginPassword';";
$results = $conn->query($sql);

 

そこでPHP Prepare Statementを利用

これはパラメータ部分をSQL文に展開しないものである.

$sql = "SELECT id FROM np_user WHERE id = ? AND password = ?;";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ss", $loginUser, $loginPassword);
$stmt->execute();
$results = $stmt->get_result();