나는 mysql_ * 코드를 PDO 코드로 변환하는 과정을 밟았다. 나는 그것을 달리고 그것이 작동하는 것을 확인합니다. 난 그냥 stackoverflow의 검토, 내가 제대로 연결을 죽이고 있는지 확인하기 위해, 나는 다른 방법 (예 : 트랜잭션)을 사용해야하며 방대한 보안 결함이 없는지 확인해야한다. 코드는 다음과 같습니다.mysql에 PHP PDO 액세스
<?php
try {
$link = new PDO('mysql:****;dbname=****;charset=UTF-8','****','****');
$link->exec("INSERT INTO Registration (`First Name`, `Last Name`) VALUES ('$_POST[fname]', '$_POST[lname]')");
} catch(PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>
내가 말한 것처럼 작동하지만 100 명이 동시에 등록 할 때 안전하고 효과적 이길 원합니다. 모든게 괜찮아 보이니?
- 당신은 단지 사용자가 제공 한 입력에 추가하는 경우에는 보안 이득이 사용하는 전혀 없다 PDO. – andrewsi
내 간단한 단일 파일 [PDO 라이브러리] (https://github.com/Xeoncross/DByte)를 사용할 수 있으므로 SQL 인젝션이나 전역 변수'$ link'를 페이지 주위로 전달할 필요가 없습니다 . 지금은 쿼리 문자열에 변수를 직접 삽입하므로 안전하지 않습니다. – Xeoncross
쿼리에서 직접 사용자의 위생되지 않은 데이터를 사용하지 마십시오. 또한 배열 변수를 사용할 때 키 주위에 작은 따옴표 나 큰 따옴표를 넣으십시오. – AdamGold