如何在php中切换连接文件?
如何在php中切换连接文件?我有两个数据库,它们的名称是connection.php和connection1.php。当我提交用户名和密码时,我想检查第一个数据库,然后如果结果为空,则需要切换另一个数据库。但现在它只连接第一个数据库,而不连接第二个数据库。。。 我试图先关上,但它不起作用。请给我建议任何解决方案如何在php中切换连接文件?,php,Php,如何在php中切换连接文件?我有两个数据库,它们的名称是connection.php和connection1.php。当我提交用户名和密码时,我想检查第一个数据库,然后如果结果为空,则需要切换另一个数据库。但现在它只连接第一个数据库,而不连接第二个数据库。。。 我试图先关上,但它不起作用。请给我建议任何解决方案 enter code here if(!empty($_POST['uname']) && !empty($_POST['pwd'])) { $flag=
enter code here
if(!empty($_POST['uname']) && !empty($_POST['pwd']))
{
$flag=0;
if($flag==0)
{
require_once('connection1.php');
$q="select * from user_login where (u_name='".$_POST['uname']."' or eid='".$_POST['uname']."') and password='".$_POST['pwd']."' and status=1";
//echo $q;
$res=mysql_query($q);
$row=mysql_fetch_assoc($res);
}
if(empty($row))
{
$flag=1;
mysql_close($res);
}
if($flag==1)
{
require_once('connection.php');
$q1="select * from user_login where (u_name='".$_POST['uname']."' or eid='".$_POST['uname']."') and password='".$_POST['pwd']."' and status=1";
$res1=mysql_query($q1);
//echo "Database : ".mysql_db_name($res1);
$row1=mysql_fetch_assoc($res1);
}
}
if(!empty($row))
{
$u_id=$row['u_id'];
//header("location:../index.php");
echo "<script>parent.location='Test.php'</script>";
}
else if(!empty($row1))
{
$u_id=$row1['u_id'];
//header("location:../index.php");
// print_r($row1);
echo "<script>parent.location='Test1.php'</script>";
}
else
{
$err = "<font color='red'>Incorrect Login Information</font>";
}
}在此处输入代码
其他的
{
定义(“SITEROOT”、“http://”$\u服务器['http\u主机]。“/”);
定义(“SITEJS”、“http://”$\u服务器['http\u主机].“/js2/”;
定义(“SITECSS”,“http://”$\u服务器['http\u主机].“/css/”;
定义(“IMAGEDIR”、“http://”$\u服务器['http\u主机].“/images/”;
定义(“UPIMAGEDIR”、“http://”$\u服务器['http\u主机].“/zoombox\u管理/”;
定义(USR,'abcdef');
定义(DB,'abcd');定义(HST,'111.111.111'); 定义(PWD,'xxx'); } $con1=mysql_connect(HST、USR、PWD)或die(“连接失败”);
$db=mysql_选择_db(db,$con1)或die(“db未连接”) 您应该关闭
mysql\u connect
的连接
只需找到定义了mysql\u connect
的变量并将其关闭即可
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');;
mysql_close($link);
可以显示connection1.php和connection.php吗? 请注意,您可以将连接资源(从mysql\u connect()获取)作为第二个参数传递给mysql\u query,例如:
$connection1 = mysql_connect('blah', 'blah', 'blah');
$connection2 = mysql_connect('blah2', 'blah2', 'blah2');
if (!mysql_query($query, $connection1))
mysql_query($query, $connection2);
如果查询在第一次连接失败,它将使用第二次连接。
希望有帮助您可以包括那些连接文件(密码被审查,ofc)?注意:您很容易受到SQL注入攻击。此外,您正在使用不推荐使用的
mysql.*
函数。建议更改为mysqli.*
或PDO。阅读如何保护自己不受SQL注入的影响。是否检查了错误日志。您遇到了哪些错误?没有错误日志。。只是它并没有连接其他数据库,因为第一个数据库并没有关闭,而是保持打开状态。我使用了mysqli_close()函数,但它不起作用。@pranali:您使用的是mysqli_close()
还是mysql_close()
?我假设您使用的是mysql\u close()
,因为您的代码中提到了这一点。其次,它们是两个独立的库,因此如果您使用mysql\u connect()
进行连接,则必须使用mysql\u close()
,并且需要关闭$con1的连接字符串,如下代码所示:$row=mysql\u fetch\u assoc($res);}if(empty($row)){$flag=1;mysql_close($con1);}
我正在使用mysql_close()有错误消息吗?这只是一个示例,希望您没有复制粘贴到您的项目:)
$connection1 = mysql_connect('blah', 'blah', 'blah');
$connection2 = mysql_connect('blah2', 'blah2', 'blah2');
if (!mysql_query($query, $connection1))
mysql_query($query, $connection2);