PHP и Mysql перенос соединения с БД в сесси
09 Января 2025, 16:47:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: ВНИМАНИЕ Почта на домене 2126.ru прекращает свою работу
   Начало   Главная Поиск Правила Камасутра Блоги Чат (1) Галерея Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: PHP и Mysql перенос соединения с БД в сесси  (Прочитано 683 раз)
0 Пользователей и 1 Гость смотрят эту тему.
shandai ТС
Ветеран форума
******

Карма +452/-1
Offline Offline

Пол: Мужской
Сообщений: 1334

город Хабаровск

Пешеход

« : 03 Июня 2009, 21:39:21 »

Вобщем небольшая проблема, на каждой странице устанавливаю сединение с БД, не очень это хорошо, хочу переносить в сесси соединение. Сесся организованна, по ней проходит авторизация на втранице, а вот как соединение с БД преносить  не пойму, попробывал:
1) страница.....................................
$db = new mysql ('host','','','db_name');
$_SESSION['D_B'] = $db ;
....запросы
......................................................

2)страница.....................................
$db = $_SESSION['D_B'];
....запросы
.....................................................
Запросы не выполняются на второй странице, выдает ошибку: "Couldn't fetch mysqli in "номер строки""

Что я не так делаю?
спасибо.
Записан

Пешеход /Был: ЗАЗ-Lanos 1.6L 109 л.с. / Был: Иж 2126 гранат 2003г, УМПО, кастрюля, КПП ОМСК, стартер от ГАЗ 53, БК-21, звуковой сигнал от ГАЗ 3110, карб (солекс) ДААЗ-21073, свечи всегда "Чемпион", NGK-плохие, укороченная ручка КПП, БСЗ, подогрев заднего стекла и правого седенья, чехлы, тонировка задка, сцепа и диск totti, выжимной Coram, резина cordiant на штамповке РР от волги (все равно не помогает), перемычка АКБ-Стартер (тоже не помогла).
Klemanso

*******

Карма +2009/-14
Offline Offline

Пол: Мужской
Сообщений: 17725

снова в Москве


ИЖ-21261-070 248i Омск, 2005г.в., оригинал (пока)

« Ответ #1 : 03 Июня 2009, 21:41:09 »

переведи....

обо что речь вообще?  где ты это все строишь?!
Записан


Памяти DNS посвящается....
shandai ТС
Ветеран форума
******

Карма +452/-1
Offline Offline

Пол: Мужской
Сообщений: 1334

город Хабаровск

Пешеход

« Ответ #2 : 03 Июня 2009, 21:54:44 »

переведи....

обо что речь вообще?  где ты это все строишь?!
Строю на php (по виндой). грубо 1-ая страница: авторизация в системе, и первый коннект с БД ($db = new mysql ('host','','','db_name'); ).
2-ая страница: проверка авторизован ли чел в базе по средством сессии. и дальше манипуляции с БД, но я опять вызываю  $db = new mysql ('host','','','db_name');, но это повторное соединение с БД,  а как этого не делать?
Или я опять не правильно разъяснил?
Записан

Пешеход /Был: ЗАЗ-Lanos 1.6L 109 л.с. / Был: Иж 2126 гранат 2003г, УМПО, кастрюля, КПП ОМСК, стартер от ГАЗ 53, БК-21, звуковой сигнал от ГАЗ 3110, карб (солекс) ДААЗ-21073, свечи всегда "Чемпион", NGK-плохие, укороченная ручка КПП, БСЗ, подогрев заднего стекла и правого седенья, чехлы, тонировка задка, сцепа и диск totti, выжимной Coram, резина cordiant на штамповке РР от волги (все равно не помогает), перемычка АКБ-Стартер (тоже не помогла).
Klemanso

*******

Карма +2009/-14
Offline Offline

Пол: Мужской
Сообщений: 17725

снова в Москве


ИЖ-21261-070 248i Омск, 2005г.в., оригинал (пока)

« Ответ #3 : 03 Июня 2009, 21:55:55 »

 а для зачем на каждой странице то?!

насколько я помню - настраивается клиент однократно при создании самой БД
и под ним потом мути что хошь

и вообще сначала идет коннект с БД, а потом уже соответственно строятся запросы как на авторизацию так и на ее итог
все же подобное есть на всех форумах и т.д.

спиши оттуда скрипты да подгони под свои нужды....

разве так не проще?!

и потом : ты мускул когда развернул - сколько одновременных соединений установил?!
если их меньше чем ты составляешь запросов с соединением с БД - так фиг оно тебе что даст сделать....
« Последнее редактирование: 03 Июня 2009, 21:59:17 от Klemanso » Записан


Памяти DNS посвящается....
shandai ТС
Ветеран форума
******

Карма +452/-1
Offline Offline

Пол: Мужской
Сообщений: 1334

город Хабаровск

Пешеход

« Ответ #4 : 03 Июня 2009, 22:00:38 »

а для зачем на каждой странице то?!

насколько я помню - настраивается клиент однократно при создании самой БД
и под ним потом мути что хошь
а как на этой странице узанть что было на другой и что было вообще в системе? для чего тогда POST и GET?
Записан

Пешеход /Был: ЗАЗ-Lanos 1.6L 109 л.с. / Был: Иж 2126 гранат 2003г, УМПО, кастрюля, КПП ОМСК, стартер от ГАЗ 53, БК-21, звуковой сигнал от ГАЗ 3110, карб (солекс) ДААЗ-21073, свечи всегда "Чемпион", NGK-плохие, укороченная ручка КПП, БСЗ, подогрев заднего стекла и правого седенья, чехлы, тонировка задка, сцепа и диск totti, выжимной Coram, резина cordiant на штамповке РР от волги (все равно не помогает), перемычка АКБ-Стартер (тоже не помогла).
Klemanso

*******

Карма +2009/-14
Offline Offline

Пол: Мужской
Сообщений: 17725

снова в Москве


ИЖ-21261-070 248i Омск, 2005г.в., оригинал (пока)

« Ответ #5 : 03 Июня 2009, 22:02:14 »

тогда подробнее опиши задачу - чего ты намутил и что на самом деле хочешь получсить

либо я не так понял - либо ты наискосок объяснил
Записан


Памяти DNS посвящается....
shandai ТС
Ветеран форума
******

Карма +452/-1
Offline Offline

Пол: Мужской
Сообщений: 1334

город Хабаровск

Пешеход

« Ответ #6 : 03 Июня 2009, 22:17:49 »

Ну хорошо....

как ты соедняешся с бд на PHP ?
вот так: $db = new mysql ('host','','','db_name') - устанавливается соедиение, дальше запрос  $db->query("Запрос");
дальше что б соединение с БД не вислео его надо закрыть: $db-> close().
теперь я перешел по ссылке на другю строаницу, как мне соединиться с БД
вот так же: $db = new mysql ('host','','','db_name'); но это опять соединение, котрое в конце скрипта надо разрушать $db-> close(); А зачем мне соеденяться с БД еще раз, если я это сделал уже на той странице. На нвой странице $db->query("Запрос"); нельзя использовать, даже если не закрывать соединение с БД, так акк для новой странице это неизвестное...
Записан

Пешеход /Был: ЗАЗ-Lanos 1.6L 109 л.с. / Был: Иж 2126 гранат 2003г, УМПО, кастрюля, КПП ОМСК, стартер от ГАЗ 53, БК-21, звуковой сигнал от ГАЗ 3110, карб (солекс) ДААЗ-21073, свечи всегда "Чемпион", NGK-плохие, укороченная ручка КПП, БСЗ, подогрев заднего стекла и правого седенья, чехлы, тонировка задка, сцепа и диск totti, выжимной Coram, резина cordiant на штамповке РР от волги (все равно не помогает), перемычка АКБ-Стартер (тоже не помогла).
Klemanso

*******

Карма +2009/-14
Offline Offline

Пол: Мужской
Сообщений: 17725

снова в Москве


ИЖ-21261-070 248i Омск, 2005г.в., оригинал (пока)

« Ответ #7 : 03 Июня 2009, 22:32:47 »

<?
require("globals.php");
$db_desc = mysql_connect($host,$username,$password) or die("Невозможно подключиться");
mysql_select_db($dbname,$db_desc);
?>
Записан


Памяти DNS посвящается....
shandai ТС
Ветеран форума
******

Карма +452/-1
Offline Offline

Пол: Мужской
Сообщений: 1334

город Хабаровск

Пешеход

« Ответ #8 : 03 Июня 2009, 22:36:49 »

<?
require("globals.php");
$db_desc = mysql_connect($host,$username,$password) or die("Невозможно подключиться");
mysql_select_db($dbname,$db_desc);
?>

так это и есть globals.php ? так он каждый раз соединение вызывает, если я его в начале начале файла вствлю?
Есть ссылка на разъяснения, буду признателен.
Спасибо.
Записан

Пешеход /Был: ЗАЗ-Lanos 1.6L 109 л.с. / Был: Иж 2126 гранат 2003г, УМПО, кастрюля, КПП ОМСК, стартер от ГАЗ 53, БК-21, звуковой сигнал от ГАЗ 3110, карб (солекс) ДААЗ-21073, свечи всегда "Чемпион", NGK-плохие, укороченная ручка КПП, БСЗ, подогрев заднего стекла и правого седенья, чехлы, тонировка задка, сцепа и диск totti, выжимной Coram, резина cordiant на штамповке РР от волги (все равно не помогает), перемычка АКБ-Стартер (тоже не помогла).
Klemanso

*******

Карма +2009/-14
Offline Offline

Пол: Мужской
Сообщений: 17725

снова в Москве


ИЖ-21261-070 248i Омск, 2005г.в., оригинал (пока)

« Ответ #9 : 03 Июня 2009, 22:41:56 »

нет....

это пассивная защита так устроена

сначал создается файлос с описанием реквизитов подключения
где он Глобалс где еще как назовут = это не главное

вот те глобалс  :

<?
  $host = "localhost";
  $username = "dar_aniana";
  $password = "89055330642";
  $dbname = "dar_aniana";
?>

назови ты его хоть как - главное внеси в скрипт клиента

а то что там - это как раз и есть настройка клиента

обычно в файле index.php  = по умолчанию это и есть главная страница (см что в адресной строке, когда на главной форума висишь)


вот более-менее стандартная шапка index.php :
<?
require("globals.php");
$db_desc = mysql_connect($host,$username,$password) or die("Невозможно подключиться");
mysql_select_db($dbname,$db_desc);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ВЕДЫ. Научно-оздоровительный Центр эзотерической психологии</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="styles.css" rel="stylesheet" type="text/css">
<script language="javascript">
   function StartSearch($search_string){
   $url="index.php?goto=search&str_find="+$search_string;
   document.location.replace($url);
   }
</script>
</head>


дальше уже мутишь все что тебе надо  и сцылочку на нужные странички   - так строится панель админа

для пользователя этого не надо - ему авторизовался и все тут, если нет - так выведет "Ошибочное имя пользователя или пароль. Попробуйте еще раз!"
« Последнее редактирование: 03 Июня 2009, 22:44:37 от Klemanso » Записан


Памяти DNS посвящается....
Klemanso

*******

Карма +2009/-14
Offline Offline

Пол: Мужской
Сообщений: 17725

снова в Москве


ИЖ-21261-070 248i Омск, 2005г.в., оригинал (пока)

« Ответ #10 : 03 Июня 2009, 23:04:15 »

 и еще вот это проверь как у тебя сделано:


[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = on              ;#on

; Maximum number of persistent links.  -1 means no limit.
mysql.max_persistent = -1                 ;#-1

; Maximum number of links (persistent + non-persistent).  -1 means no limit.
mysql.max_links = -1                      ;#-1

; Default port number for mysql_connect().  If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
; at MYSQL_PORT.
mysql.default_port =3306

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host =localhost

; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user =

; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password!  And of course, any users with read access to this
; file will be able to reveal the password as well.
mysql.default_password =

; Maximum time (in seconds) for connect timeout. -1 means no limit
mysql.connect_timeout = 60

; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
mysql.trace_mode = Off
Записан


Памяти DNS посвящается....
shandai ТС
Ветеран форума
******

Карма +452/-1
Offline Offline

Пол: Мужской
Сообщений: 1334

город Хабаровск

Пешеход

« Ответ #11 : 03 Июня 2009, 23:18:16 »

ок. спасибо.
Записан

Пешеход /Был: ЗАЗ-Lanos 1.6L 109 л.с. / Был: Иж 2126 гранат 2003г, УМПО, кастрюля, КПП ОМСК, стартер от ГАЗ 53, БК-21, звуковой сигнал от ГАЗ 3110, карб (солекс) ДААЗ-21073, свечи всегда "Чемпион", NGK-плохие, укороченная ручка КПП, БСЗ, подогрев заднего стекла и правого седенья, чехлы, тонировка задка, сцепа и диск totti, выжимной Coram, резина cordiant на штамповке РР от волги (все равно не помогает), перемычка АКБ-Стартер (тоже не помогла).
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines

Яндекс.Метрика

Google последней посетил эту страницу 04 Января 2024, 00:23:03