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()
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!