[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: link_identifier внутри функции
ячсмит
такой вопрос:

<?php

include 'dbconnect.php';
test();

function test() {

//include 'dbconnect.php';
print_r ($link);

}

?>


$link=mysql_connect(...) в dbconnect.php. и он не передается в функцию, хотя include есть, почему?

вне функции передается и если раскомментить include внутри функции тоже
inpost
а зачем тебе $link передавать, когда он не обязательный? smile.gif
Кроме этого удаляй уже mysql, все пользуются mysqli или pdo.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
ячсмит
inpost, да согласен, просто хочется понять
ячсмит
ну и соответственно пишет во всех mysql (которые внутри функции) что-то типа

Warning: mysql_query() expects parameter 2 to be resource, null given in Z:\home\test.ru\www\index.php

а если в функции соединиться еще раз с базой то работает
inpost
второй параметр не надо передавать.
Или внутри функции сделать global $link;

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Invis1ble
ячсмит
читай про область видимости. В функции локальная область, поэтому твой $link там не видно.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

ячсмит
inpost
Invis1ble
да, понял, спасибо
Guest
Свернутый текст
Цитата (inpost @ 9.09.2013 - 01:12)
Или внутри функции сделать global $link;

Цитата (inpost @ 9.09.2013 - 01:12)
9.09.2013

Больше говнокода!
Игорь_Vasinsky
Цитата
второй параметр не надо передавать.
Или внутри функции сделать global $link;

наоборот только.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
TranceIT
Цитата (inpost @ 8.09.2013 - 23:12)
global $link;

Начиная с 5.4 не взлетит.

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
inpost
TranceIT
Что именно, почему global $var; не работает? Смотрю php.net и изменения с 5.3 => 5.4, нет там ничего про global.

Guest
Как я обожаю форумных троллей. По теме ничего сказать не могут, но обязательно всунут свой нос.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
TranceIT
inpost
Насколько мне помнится, глобальные переменные выпелены начиная с 5.4

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
inpost
TranceIT
выпилены были register_globals, это да.
Но синтаксис global $var; или же обращаться к переменной через $GLOBALS - нет. Всё до сих пор работать должно.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
killer8080
Цитата (inpost @ 9.09.2013 - 15:50)
Но синтаксис global $var; или же обращаться к переменной через $GLOBALS - нет. Всё до сих пор работать должно.

так и есть, и не вижу никаких оснований их убирать smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.