谁能讲一下php 连接 mysql的原理

jwwu 2006-02-14 11:36:34
php4.4.1 使用API
$db = mysql_connect(HOST, USER, PASS);
if (!mysql_select_db("cbo")) {
print (mysql_error());
return -1;
}

像这样用起来是很方面,但是给人感觉不够清晰
mysql过程的API基本上不使用句柄 ,难道php把它作为一个全局的变量
但如果我要同时连接2个数据库的时候 mysql的api怎么区分尼
请高手指教
...全文
268 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdsuper 2006-02-16
  • 打赏
  • 举报
回复
连接数据库与使用什么语言没有任何关系。
外部语言只是与mysql库里面的函数建立关系,并操作、获取mysql库返回值
至于数据库内部如何保证正确性是在数据库内部处理的
mysql内部是多线程操作的,内部有连接池,要详细了解请阅读mysql的源代码
至于php中的mysql的操作封装,其实就是用c语言对mysql的操作,只是以php扩展模块的形式表现出来,方便php的操作而已
gu1dai 2006-02-15
  • 打赏
  • 举报
回复
是啊,mysql内部怎么区分?是先后等待还是并发线程呢。
不过暂时不考虑这个。等接触底层的时候再来想这个问题。
helloyou0 2006-02-15
  • 打赏
  • 举报
回复
mysql_query等都有一个可选参数是连接句柄
在缺省的时候,默认使用最后一次mysql_connect的
mysqlaping 2006-02-14
  • 打赏
  • 举报
回复
$conn = mysql_connect(HOST, USER, PASS);
$db1 = "test1";
$db2 = "test2";
mysql_select_db($db1,$conn);
mysql_select_db($db2,$conn);
yunlaiyunqu 2006-02-14
  • 打赏
  • 举报
回复
php 访问 MYSQL 有一个连接的ID(句柄),
作为其他函数的可选参数, 比如下面的mysql_select_db.

这个连接作用时间很短, 不过也可以建立持久连接。
因为页面连接sql 很快就结束, 完毕马上就释放。

bool mysql_select_db ( string database_name [, resource link_identifier])
「已注销」 2006-02-14
  • 打赏
  • 举报
回复
那就
$db1 = mysql_connect(HOST, USER, PASS);
if (!mysql_select_db("cbo")) {
print (mysql_error());
return -1;
}


$db2 = mysql_connect(HOST, USER, PASS);
if (!mysql_select_db("cbo")) {
print (mysql_error());
return -1;
}

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧