PDO를 사용하여 SQL 변환을 수행하는 방법
소개
PDO(PHP 데이터 개체) )은 PHP에서 데이터베이스와 상호작용하기 위한 통합 API를 제공합니다. 이는 SQL 쿼리를 작성하고 실행하기 위한 체계적이고 일관된 방법을 제공합니다. 이 문서에서는 제공된 PHP 코드의 첫 번째 if 문을 mysqli 사용에서 데이터베이스 액세스용 PDO 사용으로 변환하는 방법을 보여줍니다.
코드 업데이트
PDO를 사용하려면 if 문에서는 데이터베이스 연결 매개변수 정의부터 시작합니다.
$db_host = "127.0.0.1"; $db_name = "name_of_database"; $db_user = "user_name"; $db_pass = "user_password"; // Create a connection to the MySQL database $pdo = new PDO( "mysql:host={$db_host};dbname={$db_name}", $db_user, $db_pass, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => FALSE ] );
다음으로, PDO 준비된 문을 사용하도록 if 문을 업데이트합니다.
if ($id) { $sql = "SELECT email FROM users WHERE u_id = ?"; $query = $pdo->prepare($sql); // Prepare the query $query->execute([$id]); // Bind the parameter and execute the query $email = $query->fetchColumn(); // Return the value from the database }
fetchColumn() 메서드는 단일 항목을 검색합니다.
추가 고려 사항
코드 업데이트 완료
$id = $_SESSION['u_id'] ?? NULL; if ($id) { $sql = "SELECT email FROM users WHERE u_id = ?"; $query = $pdo->prepare($sql); $query->execute([$id]); $email = $query->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 (?, ?, ?, ?)"; $query = $pdo->prepare($sql); $query->execute([$id, $email, $optionOne, $optionTwo]); } else { echo "All options must be entered"; }
PDO를 사용하도록 코드를 변환하면 보안이 강화되고 성능이 향상됩니다. 다양한 데이터베이스 시스템 간 이식성.
위 내용은 MySQLi 문을 PHP에서 PDO로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!