Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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
mysql\u close():5不是第4行C:\wamp\www\Includes\footer.php中的有效mysql链接资源_Php_Mysql_Hyperlink - Fatal编程技术网

mysql\u close():5不是第4行C:\wamp\www\Includes\footer.php中的有效mysql链接资源

mysql\u close():5不是第4行C:\wamp\www\Includes\footer.php中的有效mysql链接资源,php,mysql,hyperlink,Php,Mysql,Hyperlink,一切都很好,它只是决定停止工作,它毁了我的整个项目,我处于停滞状态 这是一个错误: mysql_close():5不是中的有效mysql链接资源 第4行C:\wamp\www\Includes\footer.php 这是footer.php <?php //close connection if (isset($dbh)); { mysql_close($dbh); } ?> //set constants require("quick.php"); //database

一切都很好,它只是决定停止工作,它毁了我的整个项目,我处于停滞状态

这是一个错误:

mysql_close():5不是中的有效mysql链接资源 第4行C:\wamp\www\Includes\footer.php

这是
footer.php

<?php
//close connection
if (isset($dbh)); {
    mysql_close($dbh);
}
?>
//set constants
require("quick.php");

//database connection
$dbh = mysql_connect(DB_SERVER, DB_USER, DB_PASS);
if (!$dbh) {  //check connection
        die("Cannot conect! to database ");
    }   

//selecting database
$db_select = mysql_select_db(DB_NAME, $dbh);
if (!$db_select) { //check connection
        die("Cannot connect to database ");
    }
?>
基本上,每当我试图退出mysql时,就会出现这个错误。
不久前,它还可以正常工作。

如果不指定连接,所有的
mysql.*
函数都将假定为“上次打开的连接”。这很有用,因为您不必像其他库那样跟踪它。很可能您正在覆盖某个地方的变量
$dbh
。就个人而言,如果我使用一个变量,我会使用一个变量,比如
$\u connection

所以只要
mysql\u close()
就足以关闭连接。如果一次处理多个连接,则只需担心这种情况。

请尝试以下方法:

if (isset($dbh) && is_resource($dbh)) {
    mysql_close($dbh);
} else {
    mysql_close();
}
从手册:

mysql_close()关闭与mysql服务器的非持久连接 与指定的链接标识符关联的。如果 未指定链接标识符,使用最后打开的链接


也许他没有什么关系。。谁知道呢?

在你的页面中的某个地方,有一个作业将
$dbh=5。这就是错误的原因。在数据库打开和页脚之间搜索该变量的任何赋值,您就找到了问题所在


注意:我不会像这里的其他评论者那样担心连接被打开,因为如果它不是一个持久的连接,它将在脚本结束时被关闭,所以我不认为这会破坏你的整个项目。您的代码尝试在页脚处关闭它,这与让它自己关闭没有多大区别。发件人:

使用mysql_close()通常不是必需的,因为它是非持久性打开的 链接在脚本执行结束时自动关闭。 另见


footer.php中的
$dbh
——它是如何链接到您使用mysql\u connect创建的文件的?在这个过程中,必须为$dbh变量赋值。显示更多代码。使用var_dump获取$dbh的确切值?我同意@JvdBerg所说的。mysql连接将在脚本结束时自动关闭。如果你不明确地关闭它,我看不出这会毁掉你的整个项目。您的实际问题是什么…?很好的选择,但是如果连接是打开的,但是$dbh不再指向它,那么用户仍然会在某个地方有一个打开的连接。可能会添加一个
else{mysql_close();}