Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更改连接的数据库_Php_Mysql_Database Connection - Fatal编程技术网

Php 更改连接的数据库

Php 更改连接的数据库,php,mysql,database-connection,Php,Mysql,Database Connection,我似乎在这个问题上反反复复,有时它对我有效,通常不起作用,有时我不知道如何/为什么我可以让它起作用,有时它不会 我有5个数据库,需要在日常维护过程中从每个数据库中获取数据。 对于每个数据库,我都有一个外部文件,其中包含我在页面中包含的所有db连接代码 包看起来像这样 $SGcon = mysql_connect("localhost","root",""); if (!$SGcon) { die('Could not connect: ' . mysql_error()); }

我似乎在这个问题上反反复复,有时它对我有效,通常不起作用,有时我不知道如何/为什么我可以让它起作用,有时它不会

我有5个数据库,需要在日常维护过程中从每个数据库中获取数据。 对于每个数据库,我都有一个外部文件,其中包含我在页面中包含的所有db连接代码

包看起来像这样

$SGcon = mysql_connect("localhost","root",""); if (!$SGcon) { die('Could not connect: ' . mysql_error()); } mysql_select_db("sGopen", $SGcon); $SGcon=mysql_connect(“本地主机”、“根目录”、“根目录”); 如果(!$SGcon) { die('无法连接:'.mysql_error()); } mysql_select_db(“sGopen”,$SGcon); 对于每个数据库,我提供了一个不同的变量,因此下一个数据库将是

$PTcon = mysql_connect("localhost","root",""); if (!$PTcon) { die('Could not connect: ' . mysql_error()); } mysql_select_db("pTsecond", $PTcon); $PTcon=mysql_connect(“本地主机”、“根目录”、“根目录”); 如果(!$PTcon) { die('无法连接:'.mysql_error()); } mysql_select_db(“pTsecond”,$PTcon); 然后当我调用我的查询时,我使用

mysql_query($getQuery, $PTcon); mysql_query($secondQuery, $SGcon); mysql_查询($getQuery,$PTcon); mysql\u查询($secondQuery,$SGcon); 我遇到的问题是,我没有获得用于查询的正确数据库,我的脚本似乎正在使用上次添加到页面的数据库

是否有更好的方法切换要使用的数据库连接

当我将一个数据库中的数据与另一个数据库中的数据进行比较时,数据库之间有很多来回的数据,所以我也在努力提高效率

谢谢
Pete

我认为,如果关闭每个查询之间的db连接,就可以解决问题


如果要在数据库之间进行大量比较,那么我只需使用一条select语句即可一次查询所有数据库。

我认为,如果在每次查询之间关闭数据库连接,就可以解决问题


如果要在数据库之间进行大量比较,那么我只需使用一条select语句一次查询所有数据库。

默认情况下,如果将与上一次调用相同的参数传递给,它将返回缓存连接(如果可用),而不是创建新连接。因此,这两个查询都是针对上次传递到
mysql\u select\u db
的数据库运行的

传递
new\u link=true
将避免这种行为,尽管数据库连接可能会很昂贵,所以您应该尽量保持尽可能少的打开状态

新链接的详细说明如下:

如果第二次打电话给
mysql\u connect()
使用相同的 参数,则不会创建新链接 建立了联系,但却建立了联系 已打开链接的标识符 将被退回。新链接 参数修改此行为并 使
mysql\u connect()
始终打开 新链接,即使
mysql\u connect()
被删除 以前打过同样的电话 参数。在SQL安全模式下,此 参数被忽略


默认情况下,如果您将与前一个调用相同的参数传递给,它将返回缓存连接(如果可用),而不是创建新连接。因此,这两个查询都是针对上次传递到
mysql\u select\u db
的数据库运行的

传递
new\u link=true
将避免这种行为,尽管数据库连接可能会很昂贵,所以您应该尽量保持尽可能少的打开状态

新链接的详细说明如下:

如果第二次打电话给
mysql\u connect()
使用相同的 参数,则不会创建新链接 建立了联系,但却建立了联系 已打开链接的标识符 将被退回。新链接 参数修改此行为并 使
mysql\u connect()
始终打开 新链接,即使
mysql\u connect()
被删除 以前打过同样的电话 参数。在SQL安全模式下,此 参数被忽略


除非有特定的原因,否则您希望保持尽可能低的db连接。我将使用一个连接,并编写一个方法来扩展mysql_query()方法的功能。您可以将SQL字符串和表名传递给它,然后该函数调用mysql\u select\u db($tableName),并重新使用相同的连接来处理SQL。

除非有特定原因,否则您希望保持数据库连接尽可能低。我将使用一个连接,并编写一个方法来扩展mysql_query()方法的功能。您可以将SQL字符串和表名传递给它,然后该函数调用mysql\u select\u db($tableName),并重新使用相同的连接来处理SQL。

这不是一种非常好或性能非常好的方法。无论出于何种原因,如果在查询中交错数据库源,这也可能不实用。我认为问题可能是由于缓存。不管怎样,在不使用数据库的情况下保持数据库的打开状态也不会有什么效果。不幸的是,这不仅仅是查询,还有更新/插入,所以我认为这是行不通的。谢谢你的反馈。更新和插入也是疑问。非常正确的Sev,我不知道为什么我会考虑这两个不同的事情。这不是一个非常好或性能很好的方法。无论出于何种原因,如果在查询中交错数据库源,这也可能不实用。我认为问题可能是由于缓存。不管怎样,在不使用数据库的情况下保持数据库的打开状态也不会有什么效果。不幸的是,这不仅仅是查询,还有更新/插入,所以我认为这是行不通的。不过谢谢你的反馈。更新和插入也是查询。非常正确的Sev,我不知道我为什么要考虑这两个不同的事情。你可能是对的,我可以扩展mysql_查询方法的功能,但我不相信我的编程水平足够高,无法做到这一点。你说mysql\u select\u db($tableName),我想你指的是$databaseName。但是,这不是与new_link=true相同的开销吗?我不太熟悉打开和关闭连接与更改数据库之间的区别。你可能是对的,我可以扩展mysql_查询方法的功能,但我认为我不擅长