Autor Zpráva
wordik
Profil *
Dobrý den, mám 3 soubory:
index.php
mysql.php
functions.php

obsah souboru index.php:
require_once('./includes/configs/mysql.php');
require_once('./includes/configs/functions.php');
...


obsah souboru mysql.php:
mysql_connect('127.0.0.1', 'xxx', 'xxx') or die('Nepodařilo se spojit s MySQL serverem!...');
$db['www'] = 'ext_db';



obsah souboru functions.php:
...
function get_expansion_type($expansion_int){
$sql_exp_select = mysql_fetch_row(mysql_query('SELECT COUNT(*) FROM `'.$db['ext_db'].'`.`user_info` WHERE `online` = '.intval(1).''));
		    
  switch($expansion_int){
...


Problém je ten, že proměnná $db['ext_db'] není deklarována v souboru functions.php, a tak je proměnná prázdná.
soubor mysql.php includuju do více souborů.
Jak vyřešit problém, aby se proměnná $db['ext_db'] dala spravovat i v souboru functions.php aniž bych tuto proměnnou musel uchovávat v 2 souborech zvlášť?

Napadlo mne, jestli by nepomohlo proměnnou uložit do session, ale možná by to šlo i nějak lépe ;-).
Majkl578
Profil
Problém je v nesprávném použití. Funkce nevidí proměnné z okolního kódu. Takže buď použít global nebo dát jako parametr.
wordik
Profil *
Majkl578:
Dobře, v parametru bude stačit. Díky za radu.
AM_
Profil
možná je to taky tím, že zakládáš $db['www'] a následně čteš $db['ext_db'] ;)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: