PHP MySQL连接
在一个PHP页面上可以有两种类型的MySQL连接吗 目前有一个PHP MySQL连接,php,mysql,database-connection,Php,Mysql,Database Connection,在一个PHP页面上可以有两种类型的MySQL连接吗 目前有一个$link=mysql\u connect和一个$mysqli=new mysqli连接,通过PHP中两个独立的include文件访问 它们都从MySQL数据库中提取数据,但是如果它们都在同一个PHP页面中,第二个连接就不起作用 我是不是错过了一些很明显的东西 mysql $link = mysql_connect("localhost", "root", "root", "abc"); if(!$link) { die('T
$link=mysql\u connect
和一个$mysqli=new mysqli
连接,通过PHP中两个独立的include
文件访问
它们都从MySQL数据库中提取数据,但是如果它们都在同一个PHP页面中,第二个连接就不起作用
我是不是错过了一些很明显的东西
mysql
$link = mysql_connect("localhost", "root", "root", "abc");
if(!$link)
{
die('There was a problem connection to the database. Please contact your survey administrator.');
}
mysql_select_db("root");
$query = "SELECT * FROM tresults";
$result = mysql_query($query);
$total = mysql_num_rows($result);
$query1 = "SELECT * FROM trespondent";
$result1 = mysql_query($query1);
$total1 = mysql_num_rows($result1) - 1;
$percent = number_format(($total * 100) / $total1);
mysql_close($link);
}
mysqli
$mysqli = new mysqli("localhost", "root", "root", "abc");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$a = 'q';
$aa = 1;
$r = "$a$aa";
$q = 55;
while($aa <= $q){
$query .= "SELECT COUNT(". $r .") as Responses, (SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." = -1 ) as NA, (SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." = 1 ) as SD, (SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." = 2 ) as D, (SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." = 3 ) as A, (SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." = 4 ) as SA, ((SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." = 3 ) + (SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." = 4)) as Pos, ((SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." = 1 ) + (SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." = 2)) as Neg, (SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." >= 1) AS Total, ( ((SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." = 3 ) + (SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." = 4)) / (SELECT COUNT(". $r .") FROM tresults WHERE ". $r ." >= -1) ) *100 AS percentage FROM tresults;";
$aa = $aa + 1;
$r = "$a$aa";
您是否在呼叫第二个连接后关闭了第一个连接
mysql_close($link);
然而,在一个页面上使用两个不同的连接并不是一个很好的例子。
你有什么特别的理由那样使用它吗
阅读更多信息:在呼叫第二个连接后,您是否关闭了第一个连接
mysql_close($link);
然而,在一个页面上使用两个不同的连接并不是一个很好的例子。
你有什么特别的理由那样使用它吗
阅读更多信息:好的。我真的不确定您遇到了什么问题,所以我尝试在windows上重新创建这种情况,我的代码使用同一脚本中的两个连接工作 这是我的桌子 这是我运行的代码
这是我的输出:
我能够在一个脚本中使用这两种类型的连接。我不知道你是不是在问这个问题,但我的可能起了作用,因为当我知道一个脚本中有多个连接时,我会告诉php使用哪个连接
一个PHP页面上是否可以有两种类型的MySQL连接?
我就这么做了。除非我从你的问题中得不到什么
我不知道这是否能回答你的问题,但如果不能,我很乐意删除它。顺便说一下,我使用PDO。好的。我真的不确定您遇到了什么问题,所以我尝试在windows上重新创建这种情况,我的代码使用同一脚本中的两个连接工作 这是我的桌子 这是我运行的代码
这是我的输出:
我能够在一个脚本中使用这两种类型的连接。我不知道你是不是在问这个问题,但我的可能起了作用,因为当我知道一个脚本中有多个连接时,我会告诉php使用哪个连接
一个PHP页面上是否可以有两种类型的MySQL连接?
我就这么做了。除非我从你的问题中得不到什么
我不知道这是否能回答你的问题,但如果不能,我很乐意删除它。顺便说一下,我使用PDO。是的,你可以
<?php
error_reporting(-1);
$l1 = mysql_connect('127.0.0.1', 'webrunner', 'XXXXXXXXXXX');
mysql_select_db('iceline', $l1);
$l2 = new mysqli('127.0.0.1', 'webrunner', 'XXXXXXXXX', 'iceline' );
var_dump($l1, $l2);
var_dump( mysql_query("select sysdate() from dual", $l1));
var_dump($l2->query("select sysdate() from dual"));
是的,你可以
<?php
error_reporting(-1);
$l1 = mysql_connect('127.0.0.1', 'webrunner', 'XXXXXXXXXXX');
mysql_select_db('iceline', $l1);
$l2 = new mysqli('127.0.0.1', 'webrunner', 'XXXXXXXXX', 'iceline' );
var_dump($l1, $l2);
var_dump( mysql_query("select sysdate() from dual", $l1));
var_dump($l2->query("select sysdate() from dual"));
有什么不起作用?是否存在特定错误?您不能将mysql\u*
对象和mysqli\u*
对象混合使用,它们不会有效地相互通信。但只要保持两者之间的分离,就可以同时使用两者。一个可以检索其数据并在页面上使用,另一个可以检索其数据并在页面上使用。(当然,您不应该使用mysql.*
,但从技术上讲您可以使用。)感谢David-基本上第一个连接mysql.'会触发并带回数据,然后将数据填充到PHP文件中。问题是
mysqli`连接如果包含在同一页面上,则不会返回任何内容。好吧。。。这并不能真正描述任何类型的问题。什么不起作用?你能展示不起作用的代码并解释你是如何观察问题的吗?我观察问题的方式有两种——当我将mysqli
连接的代码放在一个单独的PHP页面中时——它起作用并带回数据。当我在原始页面中放置相同的代码并删除mysql
include时,它就工作了。当我将mysql
添加回mysqli
时,它停止工作。有意义吗?不要试图描述代码,你能把它包括在问题中吗?有什么不起作用?是否存在特定错误?您不能将mysql\u*
对象和mysqli\u*
对象混合使用,它们不会有效地相互通信。但只要保持两者之间的分离,就可以同时使用两者。一个可以检索其数据并在页面上使用,另一个可以检索其数据并在页面上使用。(当然,您不应该使用mysql.*
,但从技术上讲您可以使用。)感谢David-基本上第一个连接mysql.'会触发并带回数据,然后将数据填充到PHP文件中。问题是
mysqli`连接如果包含在同一页面上,则不会返回任何内容。好吧。。。这并不能真正描述任何类型的问题。什么不起作用?你能展示不起作用的代码并解释你是如何观察问题的吗?我观察问题的方式有两种——当我将mysqli
连接的代码放在一个单独的PHP页面中时——它起作用并带回数据。当我在原始页面中放置相同的代码并删除mysql
include时,它就工作了。当我将mysql
添加回mysqli
时,它停止工作。有意义吗?不要试图描述代码,你能把它包括在问题中吗?是的,连接是关闭的mysql\u close($link)代码>。同意不理想…遗留代码。有人有同样的问题,似乎正在和答案一起工作谢谢你的回答-不确定答案是否相关。这是一个相同的
数据库,但有两种连接方式,一种是通过mysql
连接,另一种是通过mysqli
@Homer\u J:从代码的角度看,没有区别。两个数据库连接是两个数据库连接,不管它们是否指向同一个数据库。好的,这是有道理的-但我仍然不明白我哪里出错了:-(是的,连接已关闭mysql\u close($link);
。同意不理想…遗留代码。有人有同样的问题,似乎正在工作