>백엔드 개발 >PHP 문제 >PHP는 mysql_query()를 지원하지 않나요?

PHP는 mysql_query()를 지원하지 않나요?

青灯夜游
青灯夜游원래의
2021-09-28 17:22:452119검색

PHP에서는 버전 5.5.0 이상에서는 mysql_query() 함수를 지원하지 않지만, 5.5.0 이하 버전에서는 지원합니다. mysql_query() 함수는 PHP 5.5.0부터 더 이상 사용되지 않으며 PHP 7.0.0부터 제거됩니다.

PHP는 mysql_query()를 지원하지 않나요?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP는 버전 5.5.0부터 mysql_query() 함수를 지원하지 않습니다.

mysql_query() 함수는 PHP 5.5.0부터 더 이상 사용되지 않으며 PHP 7.0.0부터 제거되었습니다. 이는 MySQLi 또는 PDO_MySQL 확장으로 대체되어야 합니다. 이 함수에 대한 대안은 다음과 같습니다:

  • mysqli_query()

  • PDO::query()

mysql_query() 함수를 사용하려면, .0 이하의 PHP 5.5 버전을 사용해야 합니다.

Description: mysql_query()

mysql_query() — MySQL 쿼리를 보냅니다.

구문: ​​

mysql_query(string $query, resource $link_identifier = NULL): resource

mysql_query() 지정된 link_identifier와 연결된 서버의 현재 활성 데이터베이스에 쿼리를 보냅니다(여러 쿼리는 지원되지 않음).

Parameters

  • query: SQL 쿼리문

    쿼리 문자열은 세미콜론으로 끝나서는 안 됩니다. 쿼리에 포함된 데이터는 적절하게 이스케이프되어야 합니다.

  • link_identifier: MySQL 연결. 연결 ID가 지정되지 않으면 mysql_connect()에 의해 가장 최근에 열린 연결이 사용됩니다. 연결이 발견되지 않으면 매개변수 없이 mysql_connect()를 호출하여 연결을 생성하려고 시도합니다. 연결을 찾을 수 없거나 설정할 수 없는 경우 E_WARNING 수준 오류가 생성됩니다.

반환 값

mysql_query()는 SELECT, SHOW, DESCRIBE, EXPLAIN 및 기타 문에 대한 리소스만 반환하고 쿼리에 오류가 있는 경우 false를 반환합니다.

INSERT, UPDATE, DELETE, DROP 등과 같은 다른 유형의 SQL 문의 경우 mysql_query()는 실행이 성공하면 true를 반환하고 오류가 발생하면 false를 반환합니다.

결과 테이블을 처리하고 반환된 데이터를 검색하려면 반환된 결과 리소스를 mysql_fetch_array() 및 기타 함수에 전달해야 합니다.

쿼리가 성공했다고 가정하면 mysql_num_rows()를 호출하여 SELECT 문에 따라 반환된 행 수를 확인하거나 mysql_affected_rows()를 호출하여 DELETE, INSERT, REPLACE 또는 UPDATE 문에 따라 영향을 받은 행 수를 확인할 수 있습니다. .

Mysql_query()는 쿼리 문에서 참조된 테이블에 액세스할 수 있는 권한이 없는 경우에도 false를 반환합니다.

예: mysql_query()는 리소스를 반환합니다.

<?php
// 这应该由用户提供,下面是一个示例
$firstname = &#39;fred&#39;;
$lastname  = &#39;fox&#39;;

// 构造查询
// 这是执行 SQL 最好的方式
// 更多例子参见 mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends 
    WHERE firstname=&#39;%s&#39; AND lastname=&#39;%s&#39;",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// 执行查询
$result = mysql_query($query);

// 检查结果
// 下面显示了实际发送给 MySQL 的查询,以及出现的错误。这对调试很有帮助。
if (!$result) {
    $message  = &#39;Invalid query: &#39; . mysql_error() . "\n";
    $message .= &#39;Whole query: &#39; . $query;
    die($message);
}

// 结果的使用
// 尝试 print $result 并不会取出结果资源中的信息
// 所以必须至少使用其中一个 mysql 结果函数
// 参见 mysql_result(), mysql_fetch_array(), mysql_fetch_row() 等。
while ($row = mysql_fetch_assoc($result)) {
    echo $row[&#39;firstname&#39;];
    echo $row[&#39;lastname&#39;];
    echo $row[&#39;address&#39;];
    echo $row[&#39;age&#39;];
}

// 释放关联结果集的资源
// 在脚本结束的时候会自动进行
mysql_free_result($result);
?>

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP는 mysql_query()를 지원하지 않나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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