【问题标题】:Can I switch database with mysql_select_db? [closed]我可以用 mysql_select_db 切换数据库吗? [关闭]
【发布时间】:2013-03-13 14:01:17
【问题描述】:

这会起作用吗,还是我应该先断开连接?

<?php
mysql_connect('localhost','root','');
mysql_select_db('DB1');
//Code... 
//Now I need to change of db
mysql_select_db('DB2');
//More code...

我知道 mysql() 已被弃用,但我正在使用旧的(不是那么多)系统。谢谢!

【问题讨论】:

  • 你试过了吗?
  • 只有一项建议。不要使用古老的mysql 函数。改用mysqli
  • @deceze 还没有。我现在有点忙。我还在考虑我的下一个活动。
  • @aacanakin 正如我所说,所有这个系统都使用了 mysql()。我无法改变这一点。
  • @user2132073 - 所以让我们直截了当 - 您没有遇到任何特定问题。只是在你发布问题的机会。我只是希望你不要以同样的方式对待你的同事。好吧 -1

标签: php mysql mysql-connect mysql-select-db


【解决方案1】:

文档说是:

参考:http://php.net/manual/en/function.mysql-select-db.php

所有查询都将在当前活动数据库上运行,在本例中为 DB2。

在与指定链接标识符关联的服务器上设置当前活动数据库每次对 mysql_query() 的后续调用都将在活动数据库上进行。

【讨论】:

  • 谢谢。我现在正在阅读文档。
【解决方案2】:

你可以像在sql中使用它

SELECT `database`.`table`.`value` FROM `database`.`table`

【讨论】:

  • 这意味着她必须更新每个 SQL 查询。
  • 我知道,但是我会浪费很多时间重写查询。
【解决方案3】:

docs 说:

在与指定链接标识符关联的服务器上设置当前活动数据库。每次对 mysql_query() 的后续调用都将在活动数据库上进行。

所以是的。我猜它相当于客户端上的use &lt;database&gt; 命令。

【讨论】:

  • 我明白了。谢谢。有一段时间,我忘记了文档。
【解决方案4】:

您可以拥有多个活动连接

$db1=mysql_connect('localhost','root','');
mysql_select_db('DB1', $db1);

$db2=mysql_connect('localhost','root','');
mysql_select_db('DB2', $db2);

mysql_query("SELECT * FROM table", $db1);
mysql_query("SELECT * FROM table", $db2);

【讨论】:

  • 查看 Bart Friederichs 链接标识符答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-22
  • 2017-04-23
  • 1970-01-01
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多