PHP 치명적인 오류 해결 방법: 온라인에서 file.php의 정의되지 않은 함수 mysql_query() 호출 그 중 PHP Fatal error: Call to undefine function mysql_query() in file.php on line X는 일반적인 오류 중 하나입니다. 이 오류는 일반적으로 MySQL 확장 라이브러리가 올바르게 구성되거나 로드되지 않아 발생합니다. 이 문서에서는 이 오류를 해결하는 방법을 설명하고 해당 코드 예제를 제공합니다.
먼저 MySQL이 올바르게 설치되었고 해당 확장 라이브러리가 로드되었는지 확인해야 합니다. XAMPP, WAMP 및 기타 유사한 도구를 사용하는 사용자의 경우 일반적으로 MySQL 확장 라이브러리가 내장되어 있으며 구성 파일을 통해 로드됩니다. 이러한 도구를 사용하지 않는 경우 php.ini 파일의 구성을 확인하여 MySQL 확장 라이브러리가 로드되었는지 확인할 수 있습니다. 여기서는 MySQL 확장 라이브러리가 올바르게 설치되고 로드되었다고 가정합니다.
PHP 치명적인 오류: 정의되지 않은 함수 호출 mysql_query() 오류가 발생하는 경우 그 이유는 일반적으로 올바른 MySQL 함수가 사용되지 않기 때문입니다. PHP 버전 5.5부터 MySQL 확장 기능은 더 이상 사용되지 않으며, 데이터베이스를 운영하려면 MySQLi 또는 PDO 확장 라이브러리를 사용하는 것이 공식적으로 권장됩니다. 따라서 이 오류를 해결하려면 이러한 대체 기능을 사용해야 합니다.
다음은 MySQLi 확장 라이브러리를 사용하여 데이터베이스에 연결하고 쿼리 작업을 수행하는 방법을 보여주는 샘플 코드입니다.
$conn = new mysqli('localhost', 'username', 'password ', '데이터베이스');
if ($conn->connect_error) {
die('连接数据库失败: ' . $conn->connect_error);
$sql = 'SELECT * FROM users';
$result = $conn->query($sql);
if ($ result->num_rows > 0) {
while ($row = $result->fetch_assoc()) { echo '用户名:' . $row['username'] . ', 邮箱:' . $row['email'] . '<br>'; }
} else {
echo '没有找到用户';
}
$conn->close();
?>
위 코드에서 먼저 MySQL 데이터베이스에 대한 연결을 생성하는 mysqli 클래스입니다. 연결이 실패하면 적절한 오류 메시지를 인쇄하고 스크립트를 종료합니다. 그런 다음 query() 메서드를 통해 쿼리를 실행하고 결과를 $result 변수에 저장했습니다. 다음으로 num_rows 속성을 통해 데이터가 있는지 확인합니다. 데이터가 있으면 fetch_assoc() 메서드를 사용하여 결과 집합을 순회하고 해당 사용자 정보를 출력합니다. 마지막으로 close() 메소드를 통해 데이터베이스에 대한 연결을 닫습니다.
PDO 확장 라이브러리를 사용하려는 경우 유사한 샘플 코드는 다음과 같습니다.
$dsn = 'mysql:host=localhost;dbname=database';
$username = 'username'; $password = 'password';
try {
$conn = new PDO($dsn, $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = 'SELECT * FROM users'; $stmt = $conn->query($sql); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo '用户名:' . $row['username'] . ', 邮箱:' . $row['email'] . '<br>'; }
echo '连接数据库失败: ' . $e->getMessage(); exit;
?>
위 코드에서 먼저 PDO 연결을 만듭니다. 예외를 발생시키도록 오류 모드를 설정합니다. 그런 다음 query() 메소드를 통해 쿼리를 실행하고 fetch() 메소드를 사용하여 각 행에 대한 결과 세트를 얻습니다. 마지막으로 연결을 닫습니다.
위 내용은 如何解决PHP 치명적인 오류: X 라인의 file.php에서 정의되지 않은 함수 mysql_query() 호출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!