Каждый работал отлично, он просто решил прекратить работать, и это разрушило весь мой проект и 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()
будет достаточно, чтобы закрыть соединение. Вам нужно только беспокоиться об этом, если вы работаете одновременно с несколькими подключениями.