PHP 완전 자율 학습 매뉴...login
PHP 완전 자율 학습 매뉴얼
작가:php.cn  업데이트 시간:2022-04-15 13:53:54

PHP MySQL 연결




PHP 5 이상에서는 다음 방법을 사용하여 MySQL에 연결하는 것이 좋습니다.

  • MySQLi 확장("i"는 개선됨을 의미)

  • PDO(PHP 데이터 개체)

PHP 초기 버전에서는 MySQL 확장을 사용했습니다. 그러나 이 확장은 2012년에 더 이상 사용되지 않습니다.


MySQLi를 사용해야 할까요, 아니면 PDO를 사용해야 할까요?

짧은 답변이 필요하다면 "둘 중 편한 것을 사용하세요"라고 하세요.

MySQLi와 PDO에는 각각의 장점이 있습니다.

PDO는 12개의 서로 다른 데이터베이스에서 사용되며 MySQLi는 MySQL 데이터베이스만 대상으로 합니다.

그래서 프로젝트가 여러 데이터베이스 사이를 전환해야 하는 경우 연결 문자열과 부서 쿼리문만 수정하면 되므로 PDO를 사용하는 것이 좋습니다. MySQLi를 사용하면 다른 데이터베이스를 사용하는 경우 쿼리를 포함한 모든 코드를 다시 작성해야 합니다.

둘 다 객체 지향이지만 MySQLi는 API 인터페이스도 제공합니다.

둘 다 준비된 진술을 지원합니다. 준비된 명령문은 SQL 주입을 방지할 수 있으며 웹 프로젝트 보안에 매우 중요합니다. <… 🎜>

MySQLi(객체 지향)

MySQLi(프로시저 지향)

  • PDO

  • MySQLi 설치
  • Linux 및 Windows: 대부분의 경우 php5 mysql 패키지를 설치할 때 MySQLi 확장이 자동으로 설치됩니다.

    설치 세부 사항은 http://php.net/manual/en/mysqli.installation.php를 확인하세요.
phpinfo()를 통해 설치 성공 여부를 확인할 수 있습니다.

PDO 설치

설치 세부 사항은 http://php.net/manual/en/pdo.installation.php를 참조하세요.

phpinfo()를 통해 설치 성공 여부를 확인할 수 있습니다. mysqli.jpg


PHP는 MySQL에 연결

액세스하기 전에 MySQL 데이터베이스, 먼저 데이터베이스 서버에 연결해야 합니다:

pdo.jpg인스턴스(MySQLi - 객체 지향)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = 
new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>

Note< /th>위 객체 지향 예제의 $connect_error는 PHP 5.2.9 및 5.3.0에서 추가되었습니다. 이전 버전과의 호환성이 필요한 경우 교체하려면 다음 코드를 사용하십시오.

// 연결 감지
if (mysqli_connect_error()) {

die("데이터베이스 연결 실패: " . mysqli_connect_error());

}

인스턴스(MySQLi - 프로시저 지향)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = mysqli_connect($servername, 
$username, $password);
// 检测连接
if (!$conn) {
    die("Connection 
failed: " . mysqli_connect_error());
}
echo "连接成功";
?

인스턴스(PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", 
$username, $password);
    echo "连接成功";
}
catch(PDOException $e)
{
    
echo $e->getMessage();
}
?>
Note注意在以上 PDO 实例中我们已经指定了数据库 (myDB)。PDO 在连接过程需要设置数据库名。如果没有指定,则会抛出异常。

연결 닫기

스크립트가 실행된 후 연결이 자동으로 닫힙니다. 다음 코드를 사용하여 연결을 닫을 수도 있습니다.

인스턴스(MySQLi - 객체 지향)

$conn->close();

인스턴스(MySQLi - 객체 지향) 프로세스)

mysqli_close($conn);

인스턴스(PDO)

$conn = null;

관련 동영상 튜토리얼 추천: "mysql 튜토리얼http://www.php.cn/course/list/51.html


PHP 중국어 웹사이트