>  기사  >  데이터 베이스  >  MySQL 코드를 PDO 문으로 어떻게 변환합니까?

MySQL 코드를 PDO 문으로 어떻게 변환합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-06 20:51:02805검색

How do I convert MySQL code to PDO statements?

MySQL 코드를 PDO 문으로 변환하는 방법은 무엇입니까?

PHP에서 데이터베이스 작업을 할 때 MySQL 코드를 PDO(PHP Data Objects) 문으로 변환해야 하는 경우가 많습니다. PDO는 기본 드라이버에 관계없이 데이터베이스와 상호 작용하는 일관되고 안전한 방법을 제공합니다. 이 가이드에서는 MySQL 코드를 PDO 문으로 변환하는 방법을 보여줍니다.

연결하기

첫 번째 단계는 PDO를 사용하여 데이터베이스에 연결하는 것입니다. 수행 방법의 예는 다음과 같습니다.

$db_host = "127.0.0.1";
$db_name = "database_name";
$db_user = "username";
$db_pass = "password";

$pdo = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);

코드 업데이트

PDO 연결이 완료되면 MySQL 코드를 PDO 문으로 변환할 수 있습니다.

mysqli 및 PDO를 사용한 준비된 명령문

준비된 명령문은 사용자 제공 데이터가 포함된 쿼리를 실행하는 안전한 방법입니다. 쿼리가 실행되기 전에 쿼리에 데이터를 바인딩하여 SQL 주입을 방지합니다.

다음은 MySQLi에서 준비된 문의 예입니다.

$sql = "SELECT * FROM users WHERE username = ? AND password = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
$result = $stmt->get_result();

PDO의 동일한 쿼리는 다음과 같습니다.

$sql = "SELECT * FROM users WHERE username = ? AND password = ?";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(1, $username, PDO::PARAM_STR);
$stmt->bindParam(2, $password, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetchAll();

업데이트된 코드

다음은 질문의 MySQL 코드를 PDO 문으로 변환하는 방법에 대한 예입니다.

$id = $_SESSION['u_id'] ?? NULL;

if ($id) {
    $sql = "SELECT email FROM users WHERE u_id = ?";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$id]);
    $email = $stmt->fetchColumn();
}

$email = $email ?? "";
$suggestions = selectAll($table);

$optionOne = $_POST['optionOne'] ?? "";
$optionTwo = $_POST['optionTwo'] ?? "";
$newSuggestion = $_POST['new-suggestion'] ?? "";

if ($newSuggestion && $id && $email && $optionOne && $optionTwo) {
    $sql = "INSERT INTO suggestions (user_id, email, option_1, option_2) VALUES (?, ?, ?, ?)";
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$id, $email, $optionOne, $optionTwo]);
} else {
    echo "All options must be entered";
}

요약

MySQL 코드를 PDO 문으로 변환하는 과정은 비교적 간단합니다. 이 가이드에 설명된 단계를 따르면 코드를 PDO로 쉽게 마이그레이션하고 향상된 보안 및 성능과 같은 이점을 활용할 수 있습니다.

위 내용은 MySQL 코드를 PDO 문으로 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.