[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: функция mysql_query делает запрос к базе данных
ЕвгенийK
Добрый вечер. решил изучать php но возникли вопросы.

функция mysql_query делает запрос к базе данных
а эти функции уже работают с самим массивом ?
    mysql_num_rows
    mysql_fetch_array
или тоже делают запрос к базе данных?
Valick
технически все они делают запрос
mysql_query делает запрос к базе данных (незабываем что БД это отдельный сервер, хоть и может быть расположен на одной машине с http сервером) на выполнение запроса который принимает как параметр функции, и возвращает дискриптор соединения с БД по которому можно получить результат работы БД при помощи остальных функций (mysql_num_rows, mysql_fetch_array и т.д.) Сами по себе эти функции не заставляют ничего делать базу данных, кроме как отдать результат.

_____________
Стимулятор ~yoomoney - 41001303250491
Arh
Цитата (ЕвгенийK @ 10.06.2014 - 00:21)
решил изучать php

функция mysql_query

Может конечно для изучения ПХП это и самое то, так как полно примеров, но если вы только что начали изучать, то учтите что mysql_query скоро не будет работать, её удалят из ПХП
Рекомендую PDO, это так, на будущее имейте ввиду.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
ЕвгенийK
Цитата (Valick @ 10.06.2014 - 00:29)
технически все они делают запрос
mysql_query делает запрос к базе данных (незабываем что БД это отдельный сервер, хоть и может быть расположен на одной машине с http сервером) на выполнение запроса который принимает как параметр функции, и возвращает дискриптор соединения с БД по которому можно получить результат работы БД при помощи остальных функций (mysql_num_rows, mysql_fetch_array и т.д.) Сами по себе эти функции не заставляют ничего делать базу данных, кроме как отдать результат.

спасибо за ответ.
то есть если я вас правильно понял что эти функции тоже делают обращение к базе MYSQL или уже берут результат с переменной?

извиняюсь если не правильно ставлю вопрос.

и если я вставлю while ( $row = mysql_fetch_array($result) )

то это будет постоянное обращение к базе ?

вот сама функция. и как правильнее написать ее без while
а точнее без впихивания туда mysql_fetch_array($result)
<?php


function ShowTree($ParentID, $lvl) {


global $lvl;
$lvl++;

$sSQL = "SELECT categoryID,name,parent FROM categories WHERE parent=" . $ParentID . " ORDER BY name";

$result=mysql_query($sSQL);

$count_base = mysql_num_rows($result);

if ($count_base > 0)
{
$outr .= "<UL id=\"sidebarmenu1\">\n";
while ( $row = mysql_fetch_array($result) ) {
$ID1 = $row["categoryID"];
$outr .= "<LI>\n";
$outr .= "<A HREF=\""."?mod=shop&ID=".$ID1."\">".$row["name"]."</A>"." \n";
$outr .=ShowTree($ID1, $lvl);
$lvl--;
}
$outr .= "</UL>\n";
}
return $outr;
}


$tree_items .="<div class=\"sidebarmenu\">";
$tree_items .= ShowTree(0,0);
$tree_items .="</div>";

?>
ЕвгенийK
Цитата (Arh)
решил изучать php

функция mysql_query

Может конечно для изучения ПХП это и самое то, так как полно примеров, но если вы только что начали изучать, то учтите что mysql_query скоро не будет работать, её удалят из ПХП
Рекомендую PDO, это так, на будущее имейте ввиду.

удалят из старых версий или не будет работать на новых версиях?
Arh
Цитата (ЕвгенийK @ 10.06.2014 - 00:40)
Цитата (Arh)
решил изучать php

функция mysql_query

Может конечно для изучения ПХП это и самое то, так как полно примеров, но если вы только что начали изучать, то учтите что mysql_query скоро не будет работать, её удалят из ПХП
Рекомендую PDO, это так, на будущее имейте ввиду.

удалят из старых версий или не будет работать на новых версиях?

Вроде с версии 5.5 ругаться начнёт =)
На старых то все так же останется, но зачем изучать заведомо устаревшие вещи.

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Valick
Цитата
то есть если я вас правильно понял что эти функции тоже делают обращение к базе MYSQL или уже берут результат с переменной?

они делают обращение к серверу БД
вот смотрите
Например я это mysql_query у меня есть бумажка (целый список) с моими хотелками - это запрос.
Я еду в другой город на склад где лежат эти самые хотелки которые мне нужны. Я захожу на склад и отдаю бумажку дяде Ване кладовщику (- это база данных). Дядя Ваня шерстит по всем уровням складских помещений выбирает нужный мне цвет, размер и вкус, все что находит он приносит в отдельную кладовку с номером например 5 (- это дискриптор соединения) и даёт мне номерок с цифрой 5. Я возвращаюсь в свой город и занимаюсь свомим делами. Но теперь я хочу получить информацию а сколько же всего по списку дядя Ваня мне наскирдовал, я обращяюсь в информационную компанию (- это mysql_num_rows) и говорю, вот вам номерок, работайте. Менеджер среднего звена этой компании с моим номерком едет в другой город на склад и заходит в каморку номер 5 и считает сколько всего там лежит, а дядя Ваня в это в ремя отдыхает с тёлками в бане. Потом этот менеджер едет обратно и сообщает мне что в каморке номер 5 лежит полторы тысячи всякой хреновени.
Теперь я иду в транспортную компанию (- это mysql_fetch_array) и прошу привести мне хреновень которая лежит ближе всего к двери в каморке номер 5. Водитель транспортной компании едет в другой город на склад заходит в каморку номер 5 и берёт одну хреновень, которая лежит ближе всего к двери и везёт на совей газельке мне. Дядя Ваня в это время отдыхает от работы и от тёлок за покерным столом и курит кубинские сигары.
Но мне надо получить все что было в списке, поэтому водитель едет на склад еще 1499 раз, но дорогу он знает хорошо, да и в каморку он идет не напрягая дядю Ваню, поэтому этот процесс очень быстрый, и вот я не успел моргнуть глазом как полторы тысячи хреновней лежат у меня на даче smile.gif
Как-то так...

_____________
Стимулятор ~yoomoney - 41001303250491
ЕвгенийK
Цитата (Valick @ 10.06.2014 - 01:06)
Цитата
то есть если я вас правильно понял что эти функции тоже делают обращение к базе MYSQL или уже берут результат с переменной?

они делают обращение к серверу БД
вот смотрите
Например я это mysql_query у меня есть бумажка (целый список) с моими хотелками - это запрос.
Я еду в другой город на склад где лежат эти самые хотелки которые мне нужны. Я захожу на склад и отдаю бумажку дяде Ване кладовщику (- это база данных). Дядя Ваня шерстит по всем уровням складских помещений выбирает нужный мне цвет, размер и вкус, все что находит он приносит в отдельную кладовку с номером например 5 (- это дискриптор соединения) и даёт мне номерок с цифрой 5. Я возвращаюсь в свой город и занимаюсь свомим делами. Но теперь я хочу получить информацию а сколько же всего по списку дядя Ваня мне наскирдовал, я обращяюсь в информационную компанию (- это mysql_num_rows) и говорю, вот вам номерок, работайте. Менеджер среднего звена этой компании с моим номерком едет в другой город на склад и заходит в каморку номер 5 и считает сколько всего там лежит, а дядя Ваня в это в ремя отдыхает с тёлками в бане. Потом этот менеджер едет обратно и сообщает мне что в каморке номер 5 лежит полторы тысячи всякой хреновени.
Теперь я иду в транспортную компанию (- это mysql_fetch_array) и прошу привести мне хреновень которая лежит ближе всего к двери в каморке номер 5. Водитель транспортной компании едет в другой город на склад заходит в каморку номер 5 и берёт одну хреновень, которая лежит ближе всего к двери и везёт на совей газельке мне. Дядя Ваня в это время отдыхает от работы и от тёлок за покерным столом и курит кубинские сигары.
Но мне надо получить все что было в списке, поэтому водитель едет на склад еще 1499 раз, но дорогу он знает хорошо, да и в каморку он идет не напрягая дядю Ваню, поэтому этот процесс очень быстрый, и вот я не успел моргнуть глазом как полторы тысячи хреновней лежат у меня на даче smile.gif
Как-то так...

спасиб за ответ. еще и веселенький user posted image
Arh
Valick
жжёшь laugh.gif

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Быстрый ответ:

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