Помогите с подключением к БД
Страницы: 1
Помогите с подключением к БД
Для работы с БД используется рекурсия. Сама функция выглядит так

Код
{
   include('/config.php');
$db = mysql_connect("$parametr[host]","$config[user]","$config[pass]");
mysql_select_db("$config[db_name]",$db);
mysql_query("SET NAMES utf8");

$resultat = mysql_query("SELECT * FROM name WHERE url='$id'",$db);
$array = mysql_fetch_array($resultat);
$cat = $array['id'];
return ($cat);
}
 
В этом случае все работает, но из-за конструкции


Код
 include('/config.php');
Код
$db = mysql_connect("$parametr[host]","$config[user]","$config[pass]");
mysql_select_db("$config[db_name]",$db);
mysql_query("SET NAMES utf8");

получается, что подключение осуществляется при каждом вызове функции, те создается много лишних подключений
Можно ли как нибудь 1 раз подключиться к БД до вызова самой функции?
Цитата
Андрей Зиманов пишет:
include('/config.php');
include_once вам наверное нужен?
Цитата
Frank Sinatra пишет: 
Андрей Зиманов пишет: 
include('/config.php');
Цитата

include_once вам наверное нужен?

Думаю, что не в этом дело. В /config.php хранятся просто параметры подключения к БД (имя сервера, имя БД, имя пользователя БД, пароль) 
Я думаю, что нужно сделать как-то так



Код
include('/config.php'); 
$db = mysql_connect("$parametr[host]","$config[user]","$config[pass]"; 
mysql_select_db("$config[db_name]",$db); 


mysql_query("SET NAMES utf8"; 

function primer ($id) 
{ 
$resultat = mysql_query("SELECT * FROM name WHERE url='$id'",$db); 
$array = mysql_fetch_array($resultat); 
$cat = $array['id']; 
return ($cat); 
}



Но, не очень понимаю, как передать значение переменной $db в функцию. 
Объявление ее глобальной  



Код
global $db; //не помогает 




Пока, есть предположение сделать ее вторым аргументом 




Код
function primer ($id, $db)


Есть ли еще какие-то варианты?
Цитата
Андрей Зиманов пишет:
Есть ли еще какие-то варианты?
1.подключение осуществляется при каждом вызове функции
2. значение переменной $db занести в сессию. Сессия должна объявляться везде, где будет использоваться переменная.

Имхо.
Coder, спасибо за варианты
Цитата
Coder пишет:
1.подключение осуществляется при каждом вызове функции
На данный момент так и есть, но это создает лишние запросы к БД.
Цитата
Coder пишет:
2. значение переменной $db занести в сессию. Сессия должна объявляться везде, где будет использоваться переменная.
Попробую осуществить.
Те получается, что способа присвоить значение переменной в начале, чтобы ее можно было использовать во всех функциях в php нет? Что-то типа global, только наоборот для передачи переменных из программы в функцию?

Код
какое-то действие $db=1; 
function a () 
{ 
echo $db; //получается, что вывести тут 1 никак нельзя?
} 
Передайте нужное значение в функцию:
Код
function a($s) {
echo $s."Проба";
}
$db = 7;
$db = a($db);
http://hashcode.ru/questions/103212/%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE-%D0%BB%D0%B8-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C-%D1%81%D1%83%D0%BF%D0%B5%D1%80%D0%B3%D0%BB%D0%BE%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D1%83%D1%8E-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%83%D1%8E-%D0%B2-php
Предлагаю Услуги по веб-разработке/программированию
HTML(HTML5), CSS(CSS3), JavaScript(jQuery, AJAX), PHP, MySQL
========================================
http://www.cy-pr.com/forum/f58/t37537/
http://www.cy-pr.com/forum/f50/t35619/
Зачем использовать рекурсию для запросов к базе данных?
Я думаю, что нужно пересмотреть сам запрос к базе или архитектуру скрипта/базы данных, а не использовать рекурсию.
Изменено: Aleksandr Botnikov - 14 Ноября 2013 18:49
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
15:19 Refmate — сервис для взаимного обмена ссылками 
13:06 Продвижение по ключам 
09:47 Adsense личный опыт 
13:13 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
13:47 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
08:27 Ищу специалистов 
08:18 Прибыль 200$ - 400$, за каждую 1000 уников! Google, FB и тд 
01:41 Продам обменник криптовалюты, а также новый обменник под ключ с обучением. Скидки на скрипты обменника 
20:22 Belurk — высокоскоростные анонимные прокси от 0,24 рублей 
18:48 Продажа аккаунтов HH.RU 
17:38 swapsfera.com 
17:30 GoodsMoney.io 
16:25 JustProxy.Biz - Резидентные прокси без ограничения по трафику 
14:43 Рассылки СМС/SMS, Вайбер/Viber, Ватсап/Whatsapp, Телеграм/Telegram любой тематики по всему миру 
17:46 Всего п онемногу 
12:45 Куплю проигрышные букмекерские аккаунты 
11:55 Union Pharm - топовая фарма-партнерка для профессионалов! 
17:09 Точные прогнозы на футбол 
10:00 Ну что, кто куда деваете свои сайты? 
16:22 Компьютерная мышь 
23:55 Добро пожаловать в цифровой мир...