①建立两个数据库连接,查询的时候分别调用.
例如:dba,dbb
select * from dba.table1 as t1
这篇文章主要介绍了PHP同时连接多个mysql数据库的具体实现,需要的朋友可以参考下
实例:
代码如下:
php
$conn1
=
"root","root","db1");
mysql_select_db("db1",
$conn1);
$sql
"select
*
from
ip";
$query
mysql_query($sql);
if($row
mysql_fetch_array($query))
echo
$row[0]."n";
web
";
$row[0];
这段代码存在问题,在程序执行时会报错:PHP
Warning:
mysql_fetch_array()
expects
parameter
to
be
resource,
boolean
given
in
....
原因分析:
程序开始建立两个数据库链接,函数mysql_query()原型:
resource
mysql_query
(
string
[,
$link_identifier
]
)
向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询.如果没有指定
link_identifier,则使用上一个打开的连接.如果没有打开的连接,本函数会尝试无参数调用
mysql_connect()
函数来建立一个连接并使用之.查询结果会被缓存.
方法1:在mysql_query函数中指定所用连接,即:
mysql_select_db("Muma",
mysql_select_db("product",
mysql_query($sql,$conn1);
//添加连接$conn1
mysql_query($sql,
db1.ip";
//关联数据库
php操作mysql步骤:
or
die('数据库连接失败.'mysql_error());链接mysql.
names
blog_article";准备要查询的数据.
mysql_query($sql);执行sql查询.
mysql_fetch_assoc($datas)得到查询到的缓存在内存中的一条数据.
相同点:三个函数都是返回数据库中查询到的一行数据(说的再清楚点就是一条数据).
不同点:mysql_fetch_assoc()用的是数据库中相应的字段名作为的key值(也就是数组下标)
如:filed['id']=1;
mysql_fetch_row()用的是自动生成的数字(从0开始依次生成)作为的key值(也就是数组下标)
如:filed[0]=1;
mysql_fetch_array()用的是自动生成的数字(从0开始依次生成)作为的key值(也就是数组下标),而且它还同时生成数据库中相应的字段名作为的key值(也就是数组下标)
如:
filed[0]=1,filed['id']=1;也就是说,mysql_fetch_array()将mysql_fetch_assoc()和mysql_fetch_row()查询到的结果合为了一体了.
mysql_fetch_object()与mysql_fetch_assoc()差不多.只是mysql_fetch_assoc()返回的是数组.mysql_fetch_object()返回的是object对象.
mysql_insert_id() 取得上一步
INSERT
操作产生的
ID.
mysql_result()
函数返回结果集中一个字段的值.
mysql_num_fields()
函数返回结果集中字段的数目.
mysql_affected_rows();返回前一次
MySQL
操作所影响的记录行数.
mysql_num_rows(mysql_query($sql))获得结果集中行的数目.
mysql_pconnect()
函数打开一个到
服务器的持久连接.
和
非常相似,但有两个主要区别:
当连接的时候本函数将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接.
其次,当脚本执行完毕后到
SQL
服务器的连接不会被关闭,此连接将保持打开以备以后使用(mysql_close()
不会关闭由
建立的连接).
mysql_unbuffered_query($sql)和mysql_query($sql)效果差不多,但是
mysql_unbuffered_query($sql)不缓存.mysql_query($sql)会缓存查询的结果.
mysql_close();关闭mysql的最近的链接.
primary_key
auto_increment
.
mysql_fetch_lengths(mysql_query($sql))返回该条数据的所有字段的每个字段的长度.返回的是一个数字组成的数组.
mysql_field_table(mysql_query($sql),0)返回指定字段所在的表名.
mysql_free_result(mysql_query($sql))
函数释放结果内存.
mysql_get_client_info()
函数返回
mysql_get_host_info()
取得
主机信息.
$conn1=mysql_connect('...','...','...'); //将第一个数据库连接资源保存到变量conn1中
然后在执行查询操作时,指定使用哪个连接资源,如:mysql_query('select ....',$conn1);
希望可以帮到你,谢谢!