У меня вопрос: я использую переменную $ db в моем общем коде скрипта и в одной из моих функций. Его цель - быть переменной, используемой для соединений MySQL. Мне нужно внутри функции, чтобы записать некоторые данные в базу данных. В моем сценарии я не могу предположить, что существующее соединение с БД будет открыто, поэтому я открываю новое и закрываю его до выхода из функции. После этого я получаю сообщение об ошибке после запуска скрипта, в котором говорится, что ссылка на MySQL неверна / не существует.
Единственное, что я могу прикрепить, - это в моем основном коде, я использую переменную $ db в качестве имени переменной для соединения с базой данных. Я также использую ту же переменную в функции. Я не думал, что это будет проблемой, потому что я не использую global перед $ db в функции. Это должно означать, что ссылка на $ db I в моей функции находится в закрытой области видимости функций, но, похоже, она закрывает общедоступное соединение с $ db.
Есть мысли?
Фрагменты моего кода:
database.php
db_connect()
{
// open mysql db connection and return it;
}
db_close( &$db )
{
// close the passed by reference db connection
}
api.php
api_verify( $keyid, $userid, $key )
{
// open a new db connection
$db = db_connect();
// check for errors. if any errors are found note them in the db
// close the db
db_close($db);
}
main.php
include api.php;
include database.php;
// open a connection to the db
$db = db_connect();
// pull a list of things to process from the db and move through them one at a time
// call api_verify() on each key before working through it's data.
db_close($db)