gpt4 book ai didi

php - 一页php上的多个mysql连接

转载 作者:行者123 更新时间:2023-12-01 00:25:29 26 4
gpt4 key购买 nike

我收到错误(不是真正的错误,只是工作不正常),我想弄清楚它是否与我的 sql 连接有关。我有 2 个独立的连接到两个完全不同的数据库。

$dshost = "kjbkb";
$dsdatabase = "kjhk";
$dsusername = "hjgfytdf";
$dspassword = "jhv";
mysql_connect($dshost,$dsusername,$dspassword);
mysql_select_db($dsdatabase) or die( "Unable to select database");

$sql = "SELECT * FROM users WHERE `username` = '".$_POST['paydl']."'";
$cheeseburger = mysql_query($sql);
$res = mysql_fetch_array($cheeseburger);
$autobus_user = $res['id'];

mysql_close(); //close first connection

$db_host = "khgv";
$db_user = "trdstx";
$db_password = "txz";
$db_database = "gfxx";
mysql_connect($db_host, $db_user, $db_password) or die("Unable to connect to host");
mysql_select_db($db_database) or die( "Unable to select database");

$ASDFASDF = "SELECT * FROM `autobus` WHERE `user_id` = '".$autobus_user."' LIMIT 3";
$BobDoleDontNeedThis = mysql_query($ASDFASDF);
$resnumbatwo = mysql_fetch_array($BobDoleDontNeedThis);

mysql_close(); //close 2nd connection

我这样做对吗?为什么 $resnumbatwo 返回 false?

最佳答案

当在 PHP 中使用多个 MySQL 连接时,您必须提供第四个参数来告诉 PHP 像这样实际创建新连接(这非常重要,如果您使用到同一主机的两个连接):

$db1 = mysql_connect($host1, $user1, $passwd1, true);
$db2 = mysql_connect($host2, $user2, $passwd2, true);

如果不使用第四个参数,并且参数相同,则PHP将返回相同的链接,不会建立新的连接。

在此之后你应该使用“mysql_query”和一个额外的参数而不是定义要使用的连接:

$res1 = mysql_query($sql1, $db1) or die(mysql_error($res1));
$res2 = mysql_query($sql2, $db2) or die(mysql_error($res2));

来自php.net的第四个参数的描述是:
"如果用相同的参数第二次调用 mysql_connect(),将不会建立新链接,而是返回已打开链接的链接标识符。new_link 参数修改此行为并使 mysql_connect () 始终打开一个新链接,即使之前使用相同参数调用了 mysql_connect()。在 SQL 安全模式下,此参数将被忽略。"

查看更多:
http://www.php.net/manual/en/function.mysql-connect.php

关于php - 一页php上的多个mysql连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15109933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com