SQL 삽입 위험을 방지하려면 PDO를 사용해야합니다.
다음과 같이 DB에 연결할 수 있습니다.
try {
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=xxxx;dbname=xxxx', 'user', 'password', $pdo_options);
$bdd->query('SET NAMES "utf8"');
} catch (PDOException $e) {
exit('Error');
}
포인트 수를 얻기 위해 DB를 쿼리 할 필요가 없습니다. 업데이트 쿼리 ( points = points + 1
) 에서 직접 증분 할 수 있습니다 .
(참고 : 또한 데이터를 먼저 선택해야하며 다른 사용자가 업데이트하면 값이 변경 될 수 있으므로 PHP로 값을 늘리는 것은 좋지 않습니다.)
$req = $bdd->prepare('UPDATE member_profile SET
points = points + 1
WHERE user_id = :user_id');
$req->execute(array(
'user_id' => $userid
));