현재 위치: > 최신 기사 목록> PHP 치명적인 오류를 해결하는 메소드 : 정의되지 않은 함수로 호출 mysql_query () 오류

PHP 치명적인 오류를 해결하는 메소드 : 정의되지 않은 함수로 호출 mysql_query () 오류

M66 2025-10-01

PHP 치명적인 오류를 해결하는 방법 : 정의되지 않은 기능으로 전화하십시오 MySQL_Query ()

웹 사이트 개발에 PHP를 사용할 때 개발자는 종종 몇 가지 일반적인 실수에 직면합니다. 그중에서도 PHP 치명적인 오류 : 정의되지 않은 함수로 호출 MySQL_Query ()는 비교적 일반적인 것입니다. 이 오류는 일반적으로 데이터베이스 확장 기능을 올바르게 사용하지 않으면 발생합니다.

오류의 원인

PHP 5.5부터 MySQL_* 일련의 함수가 더 이상 사용되지 않았으며 PHP 7에서 완전히 제거되었습니다. 따라서 프로젝트 코드가 여전히 MySQL_Query () 와 같은 이전 기능을 사용하는 경우 위의 오류가 발생합니다.

이 문제를 해결하려면 공식적으로 권장되는 MySQLI 또는 PDO Extension 라이브러리를 대신 사용해야합니다.

MySQLI 확장을 사용하는 솔루션

<?php
$conn = new mysqli('localhost', 'username', 'password', 'database');
if ($conn->connect_error) {
    다이 ( &#39;Connect는 데이터베이스에 연결하지 못했습니다 :&#39;. $ conn-> connect_error);
}

$ sql = &#39;select * from user&#39;;
$ result = $ conn-> query ($ sql);

if ($ result-> num_rows> 0) {
    while ($ row = $ result-> fetch_assoc ()) {
        echo &#39;username :&#39;. $ 행 [ &#39;사용자 이름&#39;]. &#39;, 이메일 :&#39;. $ 행 [ &#39;이메일&#39;]. &#39;<br> &#39;;;
    }
} 또 다른 {
    echo &#39;사용자가 찾을 수 없음&#39;;
}

$ conn-> close ();
?>

이 코드는 MySQLI를 사용하여 연결을 설정하고 쿼리를 실행하고 결과를 출력하는 방법을 보여줍니다. 연결이 실패하면 프롬프트 메시지가 반환됩니다.

PDO 확장을 사용한 솔루션

<?php
$dsn = 'mysql:host=localhost;dbname=database';
$username = 'username';
$password = 'password';

try {
    $conn = new PDO($dsn, $username, $password);
    $conn-> setAttribute (pdo :: att_errmode, pdo :: errmode_exception);

    $ sql = &#39;select * from user&#39;;
    $ stmt = $ conn-> query ($ sql);

    while ($ row = $ stmt-> fetch (pdo :: fetch_assoc)) {
        echo &#39;username :&#39;. $ 행 [ &#39;사용자 이름&#39;]. &#39;, 이메일 :&#39;. $ 행 [ &#39;이메일&#39;]. &#39;<br> &#39;;;
    }
} catch (pdoexception $ e) {
    Echo &#39;&#39;데이터베이스에 연결하지 못했습니다 : &#39;. $ e-> getMessage ();
    출구;
}

$ conn = null;
?>

PDO를 사용하면 MySQL을 처리 할뿐만 아니라 여러 데이터베이스를 지원할 수 있으며,이 데이터베이스는 예외 메커니즘을 통해 오류를 처리하기에 더욱 확장 가능하고 편리합니다.

요약

PHP 치명적인 오류가 발생할 때 : 정의되지 않은 함수 MySQL_Query () 오류로 호출하면 문제는 일반적으로 이전 MySQL 확장이 PHP 버전에서 더 이상 지원되지 않기 때문입니다. 솔루션은 코드를 MySQLI 또는 PDO 로 마이그레이션하는 것입니다. 이는 오류보고를 피할뿐만 아니라 더 강력한 기능과 더 나은 보안을 즐기는 것입니다.

프로젝트가 여전히 이전 MySQL_* 함수를 사용하는 경우 가능한 빨리 새로운 확장으로 업데이트하여 호환성과 유지 관리를 보장하는 것이 좋습니다.