|
mySQLОбсуждение темы mySQL в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Так, я немного пенек в php - забыл все, сейчас вспоминаю. В общем - PHP код: require_once( 'func/const.php' ); function db_connect () { ... |
|
Опции темы |
11.01.2011, 20:56 | #1 |
|
Так, я немного пенек в php - забыл все, сейчас вспоминаю.
В общем - PHP код:
Хотя данные ведены вроде правильно. Кто поможет? |
|
11.01.2011, 21:17 | #2 | |
|
это точно правельно?
Цитата:
Последний раз редактировалось 74ivan74; 11.01.2011 в 21:22.. |
|
|
11.01.2011, 21:42 | #3 |
|
я вроде нашел проблему. Почему то $db['login'] не подгружался из require_once(...)
Добавлено через 10 минут вот теперь не пойму - почему это он вдруг передумал работать Добавлено через 5 минут смотрю как баран на новые ворота: require_once('func/const.php'); function db_connect() { mysql_connect("a37586.mysql.mchost.ru", $db['login'],$db['pass']) or die(mysql_error()); mysql_select_db($db['database']) or die(mysql_error()); } оно не видит это (хотя сам файл находит, если неправильно написать - вообще не грузится) $db['database'] = 'xxx'; $db['login'] = 'xxx'; $db['pass'] = 'xxx'; (все введено верно, но я же не покажу свои пароли)) Последний раз редактировалось iDeViL; 11.01.2011 в 21:42.. Причина: Добавлено сообщение |
|
11.01.2011, 21:55 | #4 |
|
|
|
11.01.2011, 22:00 | #5 |
|
нее, это все работает. Если это подставить в самой функции коннекта к сайту, то работает. А вот именно если это загружать через include - хрен там. Причем самое забавное, что если написать вместо
mysql_connect("a37586.mysql.mchost.ru", $db['login'],$db['pass']) or die(mysql_error()); это: echo $db['pass']; то все прекрасно выводится. Что за нафиг? Вру, не выводит. Значит, сама функция не видит это. Последний раз редактировалось iDeViL; 11.01.2011 в 22:03.. |
|
11.01.2011, 22:09 | #6 |
|
Мудистика какая-то, хз.
Дело как всегда наверное в пару строках. Здесь php-mysql гуру нужен. |
|
11.01.2011, 22:17 | #7 |
|
что за?!
пишу: PHP код:
выводит только тот echo, который перед db_connect(); Они же на одном уровне лежат! В общем - решение нашел - передавать массив $db в функцию. Но блин, это тупо - он же глобальный Последний раз редактировалось iDeViL; 11.01.2011 в 22:21.. |
|
21.01.2011, 10:37 | #8 |
|
Для того чтобы массив $db был доступен в функции db_connect, нужно прописать так function db_connect() { global $db; ... }, тогда будет выводиться как надо.
|
|
31.01.2011, 21:30 | #9 |
|
Глобальные переменные не определены в функциях. Ваш массив будет глобальным в данном скрипте и в подключаемых файлах, но не будет определен в функциях, где создается локальная область видимости. Это сделано разработчиками языка для того, чтобы программисты случайно не переопределили глобальные переменные в функциях и не допустили ошибку.
Так что выходов действительно 2: либо передавать массив как параметр в функцию, либо определять этот массив вначале функции как глобальный. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MySQL | 74ivan74 | Кальянная | 0 | 16.10.2010 14:33 |
PHP + MySQL бан ip | Tigran | ASP, Perl, PHP и MySQL | 2 | 11.06.2010 17:23 |
MySQL | Razrushitel | ASP, Perl, PHP и MySQL | 3 | 18.09.2005 16:18 |
Mysql под win | Lex | ASP, Perl, PHP и MySQL | 2 | 03.12.2004 17:27 |
PHP и Mysql | vision | HTML, CSS, JavaScript | 0 | 18.07.2003 08:59 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|