为了账号安全,请及时绑定邮箱和手机立即绑定

这两种打开连接的方式有什么区别?

这两种打开连接的方式有什么区别?

PHP
千巷猫影 2021-10-08 13:05:47
我们在很多地方看到这两种用Mysqli在PHP中创建数据库连接的代码,那么它们之间的技术区别是什么?$conn = mysqli_connect($host,$username,$password,$db_name);和$conn = mysqli_connect($host,$username,$password);$db_selected = mysqli_select_db($conn,$db_name);
查看完整描述

2 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

在连接时设置数据库名称只是一个方便的捷径,因为大多数时候您想立即开始使用某个特定的数据库。


也许您感到困惑,因为您认为数据库连接仅限于单个数据库;不是。$db_name只是选定的数据库。如果您有适当的权限,您可以使用来自不同数据库的对象(通过将数据库名称指定为前缀)或根据需要多次切换所选数据库(您将使用mysqli_select_db());普通的 SQL 等价物将是:


USE shop;

SELECT *

FROM orders o

INNER JOIN crm.customers c ON o.customer_id = c.customer_id;

USE crm;

SELECT *

FROM customers;


查看完整回答
反对 回复 2021-10-08
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

空无一人。他们是一样的。还有第三种更好的方法,您没有在此处列出。


mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$conn = new \mysqli($host, $username, $password, $db_name);

$conn->set_charset('utf8mb4');

OOP 风格更易于阅读且不易出错。此外,您应该始终启用异常模式并指定正确的连接字符集。这是最好的方法。


来自 PHP 手册mysqli_select_db:


笔记:


此函数仅应用于更改连接的默认数据库。您可以在 mysqli_connect() 中使用第 4 个参数选择默认数据库。


查看完整回答
反对 回复 2021-10-08
  • 2 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信