mysql_close (): 5 не является допустимым ресурсом MySQL-Link в C: \ wamp \ www \ Includes \ footer.php в строке 4

Каждый работал отлично, он просто решил прекратить работать, и это разрушило весь мой проект и Im в состоянии покоя.

Это ошибка:

mysql_close (): 5 не является допустимым ресурсом MySQL-Link в C: \ wamp \ www \ Includes \ footer.php в строке 4

Это footer.php

 <?php //close connection if (isset($dbh)); { mysql_close($dbh); } ?> 

Это connect.php

 //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, эта ошибка показывает. И все это сработало совсем недавно.

Где-то на вашей странице есть задание, которое ставит $dbh = 5; который отменяет соединение с базой данных. Это и есть причина ошибки. Найдите любые назначения этой переменной между открытием базы данных и нижним колонтитулом, и вы нашли свою проблему.


Примечание. Я бы не беспокоился о том, что соединение открыто, как и некоторые другие комментаторы, поскольку, если это не постоянное соединение, оно в любом случае будет закрыто в конце скрипта, поэтому я не вижу, как это будет разрушая весь ваш проект. Ваш код пытается закрыть его в нижнем колонтитуле, который не сильно отличается от того, что позволяет закрыть его. Из руководства :

Использование mysql_close () обычно не требуется, поскольку непостоянные открытые ссылки автоматически закрываются в конце выполнения скрипта. См. Также освобождение ресурсов .

Попробуйте это вместо этого:

 if (isset($dbh) && is_resource($dbh)) { mysql_close($dbh); } else { mysql_close(); } 

Из руководства:

mysql_close () закрывает непостоянное соединение с сервером MySQL, связанное с указанным идентификатором ссылки. Если link_identifier не указан, используется последняя открытая ссылка.

Может быть, у него мало связей .. Кто знает ..

Все функции mysql_* будут использовать «последнее соединение, которое вы открыли», если вы не укажете соединение. Это полезно, потому что вам не нужно отслеживать его, как в других библиотеках. Скорее всего, здесь вы переписываете переменную $dbh где-то. Лично я бы использовал переменную типа $_connection если я использую ее вообще.

Так просто mysql_close() будет достаточно, чтобы закрыть соединение. Вам нужно только беспокоиться об этом, если вы работаете одновременно с несколькими подключениями.