Home > Article > Backend Development > Does php not support mysql_query()?
In PHP, versions 5.5.0 and above do not support the mysql_query() function, but versions below 5.5.0 do. The mysql_query() function is deprecated as of PHP 5.5.0 and removed as of PHP 7.0.0.
The operating environment of this tutorial: windows7 system, PHP version 7.1, DELL G3 computer
PHP starts from version 5.5.0 The mysql_query() function is not supported.
The mysql_query() function is deprecated starting with PHP 5.5.0 and will be removed starting with PHP 7.0.0. It should be replaced with the MySQLi or PDO_MySQL extension. The alternatives to this function are:
mysqli_query()
PDO::query( )
If you want to use the mysql_query() function, you need to use a version below PHP 5.5.0.
Description: mysql_query()
mysql_query() — Send a MySQL query.
Syntax:
mysql_query(string $query, resource $link_identifier = NULL): resource
mysql_query() Sends a query to the currently active database in the server associated with the specified link_identifier (multiple queries are not supported).
Parameters
query: SQL query statement
The query string should not end with a semicolon. Data embedded in queries should be properly escaped.
link_identifier: MySQL connection. If no connection ID is specified, the connection most recently opened by mysql_connect() is used. If the connection is not found, an attempt is made to create it by calling mysql_connect() without parameters. If a connection is not found or cannot be established, an E_WARNING level error is generated.
Return value
mysql_query() only returns a resource for SELECT, SHOW, DESCRIBE, EXPLAIN and other statements, and returns false if there is an error in the query.
For other types of SQL statements, such as INSERT, UPDATE, DELETE, DROP, etc., mysql_query() returns true when the execution is successful and false when an error occurs.
The returned result resource should be passed to mysql_fetch_array() and other functions to process the result table and retrieve the returned data.
Assuming the query is successful, you can call mysql_num_rows() to see how many rows were returned corresponding to the SELECT statement, or call mysql_affected_rows() to see how many rows were affected corresponding to the DELETE, INSERT, REPLACE, or UPDATE statement.
Mysql_query() will also return false if there is no permission to access the table referenced in the query statement.
Example: mysql_query() returns a resource.
<?php // 这应该由用户提供,下面是一个示例 $firstname = 'fred'; $lastname = 'fox'; // 构造查询 // 这是执行 SQL 最好的方式 // 更多例子参见 mysql_real_escape_string() $query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'", mysql_real_escape_string($firstname), mysql_real_escape_string($lastname)); // 执行查询 $result = mysql_query($query); // 检查结果 // 下面显示了实际发送给 MySQL 的查询,以及出现的错误。这对调试很有帮助。 if (!$result) { $message = 'Invalid query: ' . mysql_error() . "\n"; $message .= 'Whole query: ' . $query; die($message); } // 结果的使用 // 尝试 print $result 并不会取出结果资源中的信息 // 所以必须至少使用其中一个 mysql 结果函数 // 参见 mysql_result(), mysql_fetch_array(), mysql_fetch_row() 等。 while ($row = mysql_fetch_assoc($result)) { echo $row['firstname']; echo $row['lastname']; echo $row['address']; echo $row['age']; } // 释放关联结果集的资源 // 在脚本结束的时候会自动进行 mysql_free_result($result); ?>
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of Does php not support mysql_query()?. For more information, please follow other related articles on the PHP Chinese website!