Функция и MySQL

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Функция и MySQL

Здраствуйте
можно ли через функцию вызывать селект из базы мускула?
бъюсь уже второй день...
терзают сомнения что нельзя
если можно объясните плз на примере
ещё где можно прочитать про функции на нормальном доступном (рус.) языке?
Спасибо
 

.des.

Поставил пиво кому надо ;-)
Mr_Max через функцию это ты имеешь ввиду - сделать запрос к базе из функции?
Конечно можно.
Где можно почитать - настоятельно рекомендую читать на английском - пусть со словарем, но на английском. www.php.net
 

RomikChef

Guest
Дла начала научись по-русски писать, и объяснить, что тебе надо.
пока ответом на твой вопрос является такой код
function select() {mysql_query("SELECT * FROM table");}
 

Demiurg

Guest
а еще большой совет: научись по английски читать. Очень помоежет.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
да именно это я имел ввиду
делаю так (скорее всего НЕ ТАК)

function connect ($db){//конект к базе
$db=mysql_connect("localhost", "root", "") or die("");
mysql_select_db("mainhost", $db);
}

function select ($data) {// функция селекта
$data = mysql_fetch_array(mysql_query("SELECT * FROM forum WHERE msg_id=0"));
}

Пробую так

connect ($db);
while (select ($data)){
echo $data[zag];}

браузер вешается. Скорее всего я что-то провтыкал.....

если так,
connect ($db);
select ($data);
echo $data[zag];
то в браузер ничего не выводится...

Объясните плз почему?
Завязать всё через функцию пробую впервые.
Грят так проще и удобнее.
Но у меня получается сложно и неудобно :(
 

.des.

Поставил пиво кому надо ;-)
Mr_Max почитай серьезно что из себя представляют функции.
про передачу параметров и возврат значений, про области видимости переменных. Причем не обязательно в php.

hints
что делает у тебя функция select?
что содержится в передаваемых ей параметрах (параметре $data)
Как она сообщает о результатах своей работы?
 

Demiurg

Guest
Когда ты вызываешь функцию, оргументы копируются в новые переменные, и затем эти новые переменные используются в функции. Если ты хочешь возврашать результат, то еспользуй ссылки или возвращай через return.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
если я думал хоть что-то в функциях понимаю, то сейчас я окончательно запутался....
 

Alkinoy

Guest
Автор оригинала: Mr_Max
да именно это я имел ввиду
делаю так (скорее всего НЕ ТАК)

function connect ($db){//конект к базе
$db=mysql_connect("localhost", "root", "") or die("");
mysql_select_db("mainhost", $db);
}
Чет тут не то. $db не надо передавать в процедуру, он определяется в процессе выполнения connect.
function select ($data) {// функция селекта
$data = mysql_fetch_array(mysql_query("SELECT * FROM forum WHERE msg_id=0"));
}
По моему, гдето тут return потерялся :). И на счет вложения query в fetch_array не уверен...
 

.des.

Поставил пиво кому надо ;-)
Mr_Max ты просто спешишь думая что можно все понять на примерах не имея никакой теоретической базы.
Ну тогда хоть начни с простых примеров - напиши функцию, которая - да что угодно - увеличивает значение в 10 раз, извлекает корень и т.д. (для извлечения корня пользуйся стандартной функцией) - сейчас не в этом суть.
 

Demiurg

Guest
>И на счет вложения query в fetch_array не уверен...
не уверен , не обгоняй!
Mr_Max, знания надо собирать систематически, а не хватать по куску из разных источников. Если ты не понимаешь принципов общего программирования, то не стоит сразу браться за базы данных и прочее.
 

fog

Рыцарь Джедай
Max, тебе необходимо в мануале почитать как function работает
 

Demiurg

Guest
fog, мануал в данном случае может дать только синтаксис, общего понимания он не даст.
 

Frol

Новичок
Max,
Поставь
PHP:
print_r($data);
flush();
в цикле и узнаешь почему браузер виснет. ;)
 

Frol

Новичок
>Завязать всё через функцию пробую впервые.
>Грят так проще и удобнее.
Юзай классы
ИМХО лучше и проще :)

ЗЫ но функции тоже учи
 

Demiurg

Guest
>Frol
ага, а потом человек не знающий что такое функция, будет говорить, что он знает ООП.
 
Сверху