<?php mysql_connect('127.0.0.1','root','12345678'); mysql_query('set names utf-8'); mysql_select_db('qzss'); ?>这段代码错误,错在哪
时间: 2023-08-22 18:09:36 浏览: 158
linux 安装mysql编码处理 远程连接
这段代码存在以下两个问题:
1. 使用的是mysql扩展,该扩展已经被废弃,建议使用mysqli或PDO代替。
2. mysql_select_db函数已经被废弃,建议使用mysqli或PDO中的选择数据库方法。
综上,以下是修改后的代码示例:
```php
<?php
// 创建连接
$conn = new mysqli('127.0.0.1', 'root', '12345678', 'qzss');
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 设置连接编码为UTF-8
$conn->set_charset('utf8');
// 执行SQL查询
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
// 检测查询结果
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
}
} else {
echo "0 结果";
}
// 关闭连接
$conn->close();
?>
```
修改后的代码使用mysqli扩展创建了一个连接对象`$conn`,并且使用`$conn->set_charset('utf8')`设置连接编码为UTF-8。使用`$conn->query($sql)`执行了一个`SELECT`查询,将查询结果存储在`$result`变量中。使用`$result->num_rows`获取查询结果的行数,如果大于0,则循环遍历查询结果,输出每行数据;否则输出"0 结果"。
最后,使用`$conn->close()`关闭了数据库连接。
阅读全文