PHP PDO 작성 및 변환 예
Server Side/PHP2016. 8. 15. 23:53
mysql_connect ====> new PDO()
mysql_fetch_(row|array|assoc) ====> $stmt->fetch()
쿼리의 경우
예전:
$q = mysql_query("SELECT * FROM table WHERE field1 = $field1 AND field2 = '$field2' ORDER BY id");
PDO (정석대로):
$q = $dbh->prepare("SELECT * FROM table WHERE field1 = ? AND field2 = ? ORDER BY id");
$q->bindParam(1, $field1, PDO::PARAM_INT);
$q->bindParam(2, $field2, PDO::PARAM_STR);
$q->execute();
PDO (그나마 좀 간소화시킨 문법):
$q = $dbh->prepare("SELECT * FROM table WHERE field1 = ? AND field2 = ? ORDER BY id");
$q->execute(array($field1, $field2));
///////////////////////////////////////////
$servername = "localhost";
$username = "root";
$password = "rhapsody3";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// prepare and bind
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $firstname, $lastname, $email);
// set parameters and execute
$firstname = "John";
$lastname = "Doe";
$email = "john@example.com";
$stmt->execute();
$firstname = "Mary";
$lastname = "Moe";
$email = "mary@example.com";
$stmt->execute();
$firstname = "Julie";
$lastname = "Dooley";
$email = "julie@example.com";
$stmt->execute();
echo "New records created successfully";
$stmt->close();
$conn->close();
바인딩 처리가 관건인듯.
'Server Side > PHP' 카테고리의 다른 글
| 브라우저 캐시 남기지 않기 (0) | 2016.08.31 |
|---|---|
| 코드이그나이터 설정 (0) | 2016.08.17 |
| classs static 활용법 (0) | 2016.08.09 |
| foreach 로 다차원 배열 만들기 (0) | 2016.08.08 |
| PHP 로 XML/RSS 파일 생성하기 (0) | 2016.08.07 |