Помогите с подключением к БД
Страницы: 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)
Новые темыОбъявленияСвободное общение
10:03 Как продвигать сайт с неуникальным контентом 
08:58 Стоит ли добавлять сайт в Rambler топ 100? 
08:57 Absence в Армении 
19:29 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
14:50 Индексация страниц 
12:36 У кого новостник, дайте пару советов плиз 
13:53 AviTool - мощный инструмент для автоматизации работы с Avito 
15:52 AllCharge.online. Современный, быстрый и надёжный обменник 
15:32 CactusPay.PRO | Умная платёжная система с выводом в USDT TRC-20 
12:01 PonyBit.ru - обменный пункт PonyBit.ru (Понибит.ру) 
05:17 Продам копию сайта. 
04:11 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
01:31 Скрипт обменника валют 
21:44 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
11:07 Ну что, кто куда деваете свои сайты? 
22:09 Добро пожаловать в цифровой мир... 
19:42 Топ-5 способов использовать мобильные прокси для бизнеса: подробный обзор 
22:08 Накрутка поисковых подсказок 
05:04 Точные прогнозы на футбол 
14:01 Union Pharm - топовая фарма-партнерка для профессионалов! 
10:59 Ням-ням! - 8 деликатесов, которые когда-то ели только бедные люди