Помогите с подключением к БД
Страницы: 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:44 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
09:57 3snet - гемблинг, беттинг, форекс, бинарные опционы, майнинг 
19:33 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
15:12 Несколько статей хорошо выдаются в Гугле, но отвратительно в Яндексе 
13:40 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
11:41 2Index - быстрая индексация страниц сайта и обратных ссылок 
23:00 Продвижение по ключам 
17:10 AllCharge.online. Современный, быстрый и надёжный обменник 
15:24 Продам аккаунты Gmail USA IP | Gmail MIX IP | Outlook Old 
14:48 AlwaysMoney - платформа для обмена криптовалют 
14:11 №1 Рассылка / Инвайтинг [TELEGRAM] | Приватный метод 
14:10 Trustpilot Reviews | Подниму рейтинг вашей компании 
14:10 Продвижение YouTube видео в топ поиска | Любой тип контента | Гарантия результата 
14:10 Установка|Настройка|Доработка|Наполнение сайтов|Дизайн|3D|Видеомонтаж 
16:49 monetizer.agency – рекламная сеть для взрослого и развлекательного трафика. 100$ новому вебмастеру 
20:43 Добро пожаловать в цифровой мир... 
15:59 Про мясо 
23:09 ПП от PMS remote.team - 200$ за команду 
13:28 Компьютерная мышь 
22:55 Ну что, кто куда деваете свои сайты? 
22:34 Используете беспроводные наушники?