public function Select($query) {
$result = mysql_query($query);
if(!$result)
die(mysql_error());
$n = mysql_num_rows($result);
$arr = array();
for($i = 0; $i < $n; $i++){
$row = mysql_fetch_assoc($result);
$arr[] = $row;
}
return $arr;
}
Спустя 25 минут, 52 секунды (17.09.2011 - 15:35) Winston написал(а):
Можно сократить немного :)
public function Select($query){
$result = mysql_query($query) or die(mysql_error());
$arr = Array();
while($row = mysql_fetch_assoc($result))
$arr[] = $row
return $arr;
}
Спустя 9 минут, 45 секунд (17.09.2011 - 15:45) m4a1fox написал(а):
Да меня вот это смутило
Это что же получается. Нагружать базу пока в ней есть записи запросом mysql_fetch_assoc?
for($i = 0; $i < $n; $i++){
$row = mysql_fetch_assoc($result);
$arr[] = $row;
}
Это что же получается. Нагружать базу пока в ней есть записи запросом mysql_fetch_assoc?
Спустя 35 секунд (17.09.2011 - 15:45) inpost написал(а):
m4a1fox
А можно немного стиля добавить?
А можно немного стиля добавить?
Спустя 11 секунд (17.09.2011 - 15:46) m4a1fox написал(а):
Winston
А товой вариант менее ресурсозатратный!
А товой вариант менее ресурсозатратный!
Спустя 1 минута, 11 секунд (17.09.2011 - 15:47) m4a1fox написал(а):
inpost
Цитата |
А можно немного стиля добавить? |
Всмысле?
Так?
public function Select($query) {
$result = mysql_query($query);
if(!$result)
die(mysql_error());
$n = mysql_num_rows($result);
$arr = array();
for($i = 0; $i < $n; $i++){
$row = mysql_fetch_assoc($result);
$arr[] = $row;
}
return $arr;
}
Так?
Спустя 23 минуты, 17 секунд (17.09.2011 - 16:10) inpost написал(а):
m4a1fox
А разве действие внутри условия не надо выделять 4-мя пробелами от самого условия?
А разве действие внутри условия не надо выделять 4-мя пробелами от самого условия?
Спустя 1 минута, 47 секунд (17.09.2011 - 16:12) vital написал(а):
Цитата |
Описание: Выполняет sql pапрос и возвращает результаты в виде двумерного массива. Может вернуть в виде ассоциативного массива, где ключом будет поле из строки результата (параметр $key)
|
Спустя 1 час, 18 минут, 31 секунда (17.09.2011 - 17:30) Игорь_Vasinsky написал(а):
я же писал как то ранее... мне сказали велосипед.
Но я в тихоря юзаю функцию...
Но я в тихоря юзаю функцию...
Спустя 6 минут, 49 секунд (17.09.2011 - 17:37) vital написал(а):
Так да, велосипед.
Я вон выложил выше тоже велосипед, только чуть с более продвинутыми педалями.
А вообще, мне кажется гулпым писать велосипеды, для функций, которые скоро вообще из языка выпилят(ну сначала депрекейтед сделают скоро). ТЕм более что, тот же результат можно получить PDO->query()->fetch()\fetchAll()
Я вон выложил выше тоже велосипед, только чуть с более продвинутыми педалями.
А вообще, мне кажется гулпым писать велосипеды, для функций, которые скоро вообще из языка выпилят(ну сначала депрекейтед сделают скоро). ТЕм более что, тот же результат можно получить PDO->query()->fetch()\fetchAll()
Спустя 1 минута, 49 секунд (17.09.2011 - 17:39) Игорь_Vasinsky написал(а):
не углублял я свои навыки в ООП
Спустя 2 минуты, 12 секунд (17.09.2011 - 17:41) vital написал(а):
Цитата (Игорь_Vasinsky @ 17.09.2011 - 16:39) |
не углублял я свои навыки в ООП |
Через пару версий функции mysql_* выпилят из пхп.
В любом случае придется разбираться с pdo... или mysqli
Спустя 48 секунд (17.09.2011 - 17:42) Игорь_Vasinsky написал(а):
достоверная инфа? или
Спустя 2 минуты, 24 секунды (17.09.2011 - 17:44) vital написал(а):
Цитата (Игорь_Vasinsky @ 17.09.2011 - 16:42) |
достоверная инфа? или |
Было уже где-то месяц назад в мейл-листе пхп-разрабов, от одного из ведущих.
Спустя 3 минуты, 17 секунд (17.09.2011 - 17:48) vital написал(а):
Цитата |
В прошлые выходные Филип Олсон отправил в список рассылки php-internals предложение о начале постепенного ухода от расширения mysql в будущих версиях php. Это, однако, не означает, что mysql уже не будет в PHP 5.4, но с версии 5.5 уже начнётся работа по обновлению документации и добавлению E_DEPRECATED В качестве замены текущему нативному расширению предпологается использовать расширение mysqli или PDO, а возможно mysqlnd. В результате, в будущих версиях PHP5 (начиная с 5.5 или 5.6) вызовы таких функций, как mysql_pconnect, mysql_query и так далее будут пораждать весьма неприятные уведомления E_DEPRECATED, а уже в версии PHP 6 код этих функций будет, скорей всего, полностью удалён из PHP. |
Новость была в июле.
Спустя 5 минут, 53 секунды (17.09.2011 - 17:54) inpost написал(а):
Не надо придумывать mysql не выпилят, просто не будет дальнейшей поддержки, а значит эту функцию просто забросят, а mysqli будут развивать и ускорять, делать более оптимальную, а mysql просто трогать не будут.
Функция устаревшая, но с ней можно будет работать ещё годами, как это было с ereg.
Функция устаревшая, но с ней можно будет работать ещё годами, как это было с ereg.
Спустя 3 минуты, 44 секунды (17.09.2011 - 17:57) vital написал(а):
Цитата (inpost @ 17.09.2011 - 16:54) |
Не надо придумывать mysql не выпилят, просто не будет дальнейшей поддержки, а значит эту функцию просто забросят, а mysqli будут развивать и ускорять, делать более оптимальную, а mysql просто трогать не будут. Функция устаревшая, но с ней можно будет работать ещё годами, как это было с ereg. |
Я всего лишь скопипастил текст статьи
http://habrahabr.ru/blogs/php/124245/
А там все внятно написано. Поставят депрекейтед на функцию. КТо извращенец - пусть юзает.
Спустя 1 минута, 40 секунд (17.09.2011 - 17:59) vital написал(а):
Цитата |
Между прочим, в официальных доках в разделе про mysql уже давно написано «If you are using MySQL versions 4.1.3 or later it is strongly recommended that you use the mysqli extension instead» |
Спустя 22 минуты, 28 секунд (17.09.2011 - 18:21) inpost написал(а):
vital
Ну я же не спорю насчет рекомендаций, я говорю, что её убирать не будут, просто плохая функция, а так существующая
Ну я же не спорю насчет рекомендаций, я говорю, что её убирать не будут, просто плохая функция, а так существующая
Спустя 10 дней, 22 часа, 26 минут, 9 секунд (28.09.2011 - 16:48) SlavaFr написал(а):
Цитата (m4a1fox @ 17.09.2011 - 12:09) |
Оцените метод |
1) нет конекта, что приведет к проблемам при наличии нескольких б.д
2) функция die не уместна в классе. Мы не в праве навязывать грубый облом программы в подoбном методе (смотри Exception).