深入理解SET NAMES和mysql(i)_set_charset的区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是使用PHP连接MySQL数据库的示例。可以进行以下优化: 1. 使用mysqli或PDO代替mysql扩展,mysql扩展已经被废弃。 2. 将连接信息和数据库名放入配置文件中,方便修改和管理。 综上,以下是优化后的代码示例: ```php <?php // 读取配置文件 $config = parse_ini_file('config.ini'); // 创建连接 $conn = new mysqli($config['hostname'], $config['username'], $config['password'], $config['database']); // 检测连接 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,避免中文乱码。 执行了一个`SELECT`查询,将查询结果存储在`$result`变量中。使用`$result->num_rows`获取查询结果的行数,如果大于0,则循环遍历查询结果,输出每行数据;否则输出"0 结果"。 最后,使用`$conn->close()`关闭了数据库连接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值