>  기사  >  백엔드 개발  >  PHP 치명적인 오류: 정의되지 않은 함수 mysql_connect() 호출

PHP 치명적인 오류: 정의되지 않은 함수 mysql_connect() 호출

PHPz
PHPz원래의
2023-08-25 22:27:221737검색

解决PHP Fatal error: Call to undefined function mysql_connect()

PHP에 대한 솔루션 치명적인 오류: 정의되지 않은 함수 mysql_connect() 호출

PHP를 사용하여 웹 사이트를 개발할 때 다양한 오류와 예외가 자주 발생합니다. 그 중 PHP Fatal error: Call to undefine function mysql_connect()는 비교적 일반적인 오류입니다. 이 오류는 일반적으로 PHP를 사용하여 MySQL 데이터베이스에 연결할 때 발생하지만 PHP 구성 파일에서 MySQL 지원을 활성화하는 것을 잊었습니다. 이 문서에서는 이 오류를 해결하는 방법에 대해 설명하고 해결 방법을 보여 주는 몇 가지 코드 예제를 제공합니다.

우선, 이 오류의 원인이 무엇인지 이해해야 합니다. PHP 5.5.0 이후에는 MySQL 확장이 더 이상 사용되지 않으며 PHP 7.0.0에서 제거되었습니다. 따라서 PHP 버전 7.0.0 이상을 사용하고 mysql_connect() 함수를 사용하여 MySQL 데이터베이스에 연결하려고 하면 위의 오류 메시지가 나타납니다. 대신 mysqli 또는 PDO 확장을 사용하여 MySQL 데이터베이스에 연결해야 합니다.

이 문제를 해결하기 위한 첫 번째 단계는 PHP 버전 7.0.0 이상을 사용하고 있는지 확인하는 것입니다. 명령줄에서 php -v를 실행하거나 코드에서 echo PHP_VERSION;을 사용하여 PHP 버전을 확인할 수 있습니다. php -v 或者在代码中使用 echo PHP_VERSION; 来查看PHP版本。

一旦确认了PHP的版本,我们就可以采取以下两种方式来解决这个错误。

方式一:使用mysqli扩展连接MySQL数据库

示例代码如下:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$database = "dbname";

// 创建连接
$conn = new mysqli($servername, $username, $password, $database);

// 检测连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

echo "连接成功";
?>

上述代码中,我们使用了mysqli扩展来连接MySQL数据库。首先,我们声明了相关的连接参数,包括服务器名、用户名、密码以及数据库名。然后,使用 new mysqli() 创建了一个mysqli对象,参数依次为服务器名、用户名、密码以及数据库名。接着,我们使用 $conn->connect_error 来检测连接是否成功,如果连接失败,则输出错误信息;如果连接成功,则输出 "连接成功"。

方式二:使用PDO扩展连接MySQL数据库

示例代码如下:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$database = "dbname";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "连接成功";
} catch(PDOException $e) {
    echo "连接失败: " . $e->getMessage();
}
?>

上述代码中,我们使用了PDO扩展来连接MySQL数据库。首先,我们声明了相关的连接参数,包括服务器名、用户名、密码以及数据库名。然后,使用 new PDO() 创建了一个PDO对象,第一个参数是连接字符串,包含了服务器名和数据库名,第二个参数是用户名,第三个参数是密码。接着,我们使用 $conn->setAttribute()

PHP 버전이 확인되면 다음 두 가지 방법으로 이 오류를 해결할 수 있습니다.

방법 1: mysqli 확장을 사용하여 MySQL 데이터베이스에 연결합니다.

샘플 코드는 다음과 같습니다. 🎜rrreee🎜위 코드에서는 mysqli 확장을 사용하여 MySQL 데이터베이스에 연결합니다. 먼저, 서버 이름, 사용자 이름, 비밀번호, 데이터베이스 이름을 포함한 관련 연결 매개변수를 선언합니다. 그런 다음 new mysqli()를 사용하여 mysqli 개체를 생성하고 매개변수는 서버 이름, 사용자 이름, 비밀번호 및 데이터베이스 이름입니다. 다음으로 $conn->connect_error를 사용하여 연결 성공 여부를 감지합니다. 연결이 실패하면 오류 메시지가 출력되고, 연결이 성공하면 "Connection 성공적인"이 출력됩니다. 🎜🎜방법 2: PDO 확장을 사용하여 MySQL 데이터베이스에 연결 🎜🎜샘플 코드는 다음과 같습니다. 🎜rrreee🎜위 코드에서는 PDO 확장을 사용하여 MySQL 데이터베이스에 연결합니다. 먼저, 서버 이름, 사용자 이름, 비밀번호, 데이터베이스 이름을 포함한 관련 연결 매개변수를 선언합니다. 그런 다음 new PDO()를 사용하여 PDO 개체를 만듭니다. 첫 번째 매개 변수는 서버 이름과 데이터베이스 이름을 포함한 연결 문자열이고, 세 번째 매개 변수는 사용자 이름입니다. 비밀번호. . 다음으로 $conn->setAttribute()를 사용하여 PDO 객체의 오류 모드를 설정하고 예외를 발생시키도록 설정합니다. 마지막으로 try-catch 블록을 사용하여 연결에서 발생할 수 있는 예외를 캡처합니다. 연결이 실패하면 오류 메시지가 출력되고, 연결이 성공하면 "연결 성공"이 출력됩니다. 🎜🎜요약: 🎜🎜이 기사에서는 PHP 치명적인 오류: 정의되지 않은 함수 호출 mysql_connect() 오류를 해결하는 방법에 대해 논의했습니다. 우리는 이 오류의 원인이 PHP7.0.0 버전에서 MySQL 확장이 제거되었기 때문임을 지적하고, mysqli 확장과 PDO 확장을 사용하여 MySQL 데이터베이스에 연결하는 두 가지 솔루션을 제공했습니다. 위의 코드 예제를 통해 독자들이 성공적으로 이 오류를 해결하고 MySQL 데이터베이스에 성공적으로 연결할 수 있기를 바랍니다. 🎜

위 내용은 PHP 치명적인 오류: 정의되지 않은 함수 mysql_connect() 호출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

관련 기사

더보기