How to solve PHP Fatal error: Call to undefined function mysql_query() in file.php on line X
In development, when using PHP to write websites, we often encounter to some errors. Among them, PHP Fatal error: Call to undefined function mysql_query() in file.php on line X is one of the common errors. This error is usually caused by the MySQL extension library not being configured or loaded correctly. This article explains how to resolve this error and gives corresponding code examples.
First, we need to ensure that MySQL has been installed correctly and the corresponding extension library has been loaded. For users who use XAMPP, WAMP and other similar tools, the MySQL extension library is usually built-in and loaded through the configuration file. If these tools are not used, you can determine whether the MySQL extension library has been loaded by checking the configuration in the php.ini file. Here, we assume that the MySQL extension library has been installed and loaded correctly.
When you encounter the PHP Fatal error: Call to undefined function mysql_query() error, the reason is usually because the correct MySQL function is not used. Starting from PHP version 5.5, MySQL extension functions are deprecated, and it is officially recommended to use MySQLi or PDO extension library to operate the database. Therefore, we need to use these alternative functions to solve this error.
The following is a sample code that demonstrates how to use the MySQLi extension library to connect to the database and perform query operations:
$conn = new mysqli('localhost', 'username', 'password', 'database');
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();
?>
In the above code, we first use the mysqli class to establish a connection to the MySQL database. If the connection fails, we will print the appropriate error message and terminate the script. We then executed a query via the query() method and saved the results in the $result variable. Next, we determine whether there is data through the num_rows attribute. If there is data, use the fetch_assoc() method to traverse the result set and output the corresponding user information. Finally, we close the connection to the database through the close() method.
If you prefer to use the PDO extension library, here is a similar sample code:
$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>'; }
} catch(PDOException $e) {
echo '连接数据库失败: ' . $e->getMessage(); exit;
}
$conn = null;
?>
In the above code, we first establish a PDO connection and set the error mode to throw an exception. We then execute the query via the query() method and obtain the result set for each row using the fetch() method. Finally, we close the connection.
To summarize, the PHP Fatal error: Call to undefined function mysql_query() error is usually caused by the MySQL extension library not being loaded correctly. In order to solve this error, we need to use alternative functions such as MySQLi or PDO extension library. By using the methods provided by these extension libraries, we can connect to the database and perform query operations. I hope the sample code in this article can help you solve this error.
The above is the detailed content of 如何解决PHP Fatal error: Call to undefined function mysql_query() in file.php on line X. For more information, please follow other related articles on the PHP Chinese website!