Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

6_DbSimple version 1.x: лаконичная работа с различными СУБД (Дмитрий Котеров, оценка: 6)
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
Author Message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Wed Jan 18, 2006 11:01 pm (написано за 2 минуты 35 секунд)
   Post subject:
Reply with quote

Albatros2001 wrote:
и мучаемся с перереборкой всех его элементов
foreach ($DB->select("...") as $row) {
  // ...
}
Да уж, страшные мучения, жуть просто...
Albatros2001 wrote:
Разве нельзя вызывать одну единственную функцию
Мне кажется, это неконцептуально. Функции для того и придумали, чтобы их делать несколько, по одной на каждое действие, а не оборачивать все в одну-единственную. К тому же - документацию на несколько функций легче писать, чем на одну. А то Вы предлагаете что-то типа:

process_string($str, "trim")
process_string($str, "strlen")
process_string($str, "strtoupper")

вместо trim(), strlen() и strtoupper() в PHP.
Back to top
View user's profile Send private message Send e-mail
albatros2001
Guest





Карма: 388
   поощрить/наказать


PostPosted: Thu Jan 19, 2006 10:42 pm (спустя 23 часа 40 минут; написано за 13 минут 12 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
Albatros2001 wrote:
и мучаемся с перереборкой всех его элементов
foreach ($DB->select("...") as $row) {
  // ...
}
Да уж, страшные мучения, жуть просто...
Мучения не в плане сделать ряд запросов, для получения одномерных массивов, а с работой двухмерного массива.
Некорректно выразился, да, "мучения" не совсем уместно, просто неудобно получать ключи проверяя value двухмерного массива, гораздо удобнее работать с одномерным.
Задача оптимизации как раз и заключается в том, чтобы вместо пяти запросов выполнить один и уже обработать результат как нам нужно.
Вы ведь не будете спорить, что пять запросов к таблице из нескольких сотен тысяч запросов достаточно дорогостоящая операция. Разве не будет разумнее выполнить один запрос, получив один сырой result и обработать его так как нам нужно, сформировав нужное количество массивов. Думаю решение дать возможность по своему усмотрению работать с сырым result все же будет разумным решением. Нельзя однозначно быть уверенным, что это не потребуется в проектах, а реализация такой функции в уже существующей библиотеке несложна.

На счет разных функций, пожалуй соглашусь. Так удобней для меня, но совсем не означает, что будет удобнее и другим. Просто предположил, вдруг разделите мою точку зрения. Хотя, если бы разделяли, то уже сделали бы :)

С уважением.
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Thu Jan 19, 2006 11:44 pm (спустя 1 час 2 минуты; написано за 1 минуту 39 секунд)
   Post subject:
Reply with quote

Не будет оно разумным. А учитывая, что рассуждения про 5 запросов тут ни к селу ни к городу, подозреваю, что Вы просто слабо владеете темой. Соответственно, практики побольше Вам желаю, а также - почитать имеющуюся на DbSimple документацию (она, правда, недописано, но даже то, что есть, дает много ответов).

Если не верите, напишите 2 куска кода - один с сырыми разалтсетами, а один - с DbSimple, и сравните читабельность и размер.
Back to top
View user's profile Send private message Send e-mail
IgorA
Guest





Карма: 388
   поощрить/наказать


PostPosted: Mon Jan 23, 2006 6:14 pm (спустя 3 дня 18 часов 29 минут; написано за 19 секунд)
   Post subject: Mysqli
Reply with quote

планируется ли поддержка mysqli
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Tue Jan 24, 2006 2:11 am (спустя 7 часов 57 минут; написано за 48 секунд)
   Post subject:
Reply with quote

Пока нет. Неужели она так нужна?
Что точно планируется в ближайшие 2 недели - так это поддержка PostgreSQL.
Back to top
View user's profile Send private message Send e-mail
Путник
Guest





Карма: 388
   поощрить/наказать


PostPosted: Tue Jan 24, 2006 4:25 pm (спустя 14 часов 13 минут; написано за 1 минуту 31 секунду)
   Post subject:
Reply with quote

Можно ли подключить библиотеку без использования прилагаемого в дистрибутиве файла config.php? Зачем он вообще нужен???

И когда же, Дмитрий, Вы допишете документацию?
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Tue Jan 24, 2006 11:11 pm (спустя 6 часов 46 минут; написано за 35 секунд)
   Post subject:
Reply with quote

1. Можно, только осторожно. Читайте документацию на include_path, а также стандарты PEAR (pear.php.net).
2. Когда-нибудь допишу.
Back to top
View user's profile Send private message Send e-mail
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sat Jan 28, 2006 9:42 pm (спустя 3 дня 22 часа 30 минут; написано за 3 минуты 19 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
Пока нет. Неужели она так нужна?
Думаю что из-за новых возможностей MySQL5 да !
Мне mysqli нужна из-за Stored Procedures .
Back to top
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Sun Jan 29, 2006 9:41 am (спустя 11 часов 59 минут; написано за 26 секунд)
   Post subject:
Reply with quote

А что именно в STORED PROCEDURES Вы хотите, чего не умеет DbSimple?
Back to top
View user's profile Send private message Send e-mail
IgorA
Заглянувший



Joined: 26 Jan 2006
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Sun Jan 29, 2006 10:50 am (спустя 1 час 9 минут; написано за 42 секунды)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
А что именно в STORED PROCEDURES Вы хотите, чего не умеет DbSimple?
в основном mysqli_multi_query - я использую хранимые процедуры с параметрами (in , out)
( в принципе у меня есть несколько готовых функций - но они для выполнения процедур с определенным количеством параметров , я давно собираюсь ето исправить - но все никак ...)
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Sun Jan 29, 2006 11:54 am (спустя 1 час 4 минуты; написано за 31 секунду)
   Post subject:
Reply with quote

Интересно, интересно... Можете все-таки привести PHP-код работы именно с in/out параметрами?
Back to top
View user's profile Send private message Send e-mail
IgorA
Заглянувший



Joined: 26 Jan 2006
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Sun Jan 29, 2006 12:36 pm (спустя 41 минуту; написано за 4 минуты 34 секунды)
   Post subject:
Reply with quote

если вкратце то примерно так :
Code (php): скопировать код в буфер обмена
mysqli_select_db ($dbconn,$dbname);

if ($result = mysqli_multi_query($dbconn,"SET @in_param = ’abcd’")) {
        ....       
} else { ... }

if ($result = mysqli_multi_query($dbconn,"call store_proc(@in_param, @out_param)")) {
    if ($result = mysqli_multi_query($dbconn,"select @out_param")) {

       $row = mysqli_fetch_array($result, MYSQLI_NUM);

       printf (www.php.net/printf)($row[0]);

       mysqli_free_result($result);

    } else { ....}

} else { .... }
( ето простенкий пример , в котором вообше не используются возможности mysqli_multi_query )
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Sun Jan 29, 2006 12:41 pm (спустя 4 минуты; написано за 1 минуту 30 секунд)
   Post subject:
Reply with quote

Code (php): скопировать код в буфер обмена
if ($result = $DB->query("call store_proc('string_in_parameter', @out_param)")) {
    if ($row = $DB->selectRow("select @out_param AS out")) {
       print_r (www.php.net/print_r)($row);
    } else { ....}
} else { .... }
?
Back to top
View user's profile Send private message Send e-mail
IgorA
Заглянувший



Joined: 26 Jan 2006
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Sun Jan 29, 2006 12:51 pm (спустя 10 минут; написано за 1 минуту 9 секунд)
   Post subject:
Reply with quote

ну я вообше то имел ввиду что то типа :
Code (php): скопировать код в буфер обмена
$mysqli = new mysqli("host", "user", "password", "name");

$query  = "SET @in_param = abcd;";
$query .= "call store_proc(@in_param, @out_param);";
$query .= "select @out_param;";

$mysqli->multi_query($query)
....
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Sun Jan 29, 2006 1:01 pm (спустя 10 минут; написано за 3 минуты 7 секунд)
   Post subject:
Reply with quote

Итак, речь идет только об одной-единственной возможности mysqli: функции mysqli_multi_query().
Однако я бы посоветовал Вам вообще не применять этой функции: дело в том, что она чревата проблемами с безопасностью. Все те же SQL Injection: если пользоваться только mysql_query(), где гарантируется, что запрос может быть лишь один, в случае подмены запроса через SQL Injection можно быть хотя бы уверенным в том, что никто не сможет запустить UPDATE или DELETE в SQL-запросе. Если же Вы используете mysqli_multi_query(), то злоумышленник при удачном стечении обстоятельств сможет запустить хоть десятко губительных запросов.
Back to top
View user's profile Send private message Send e-mail
IgorA
Заглянувший



Joined: 26 Jan 2006
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Sun Jan 29, 2006 1:10 pm (спустя 8 минут; написано за 5 минут 25 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров wrote:
злоумышленник при удачном стечении обстоятельств сможет запустить хоть десятко губительных запросов.
Например ? ( естественно , входяшие параметры обрабатываются перед етим ...)
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Sun Jan 29, 2006 1:16 pm (спустя 6 минут; написано за 4 минуты 30 секунд)
   Post subject:
Reply with quote

Не важно, обрабатываются параметры или нет. Безопасность - такая штука, что насильственно ее насадить не получится. Она может быть только частью архитектуры самой системы. Даже если Вы активно используете placeholder-ы, и SQL Injection поэтому исключена, все равно лучше использовать одиночные запросы.

Простейший пример: кто-нибудь со стороны решит подправить Ваш код и вставит туда:
Code (php): скопировать код в буфер обмена
mysqli_multi_query("SELECT * FROM user WHERE id=".$_GET['user_id']);
В случае использования mysql_query() максимальное разрушение из-за SQL Injection - получение любых данных из любой таблице в базе (см. UNION). Ну а случай с mysqli_multi_query гораздо печальнее: достаточно передать в user_id что-то типа "; delete from user".

Еще раз: placeholder-ы тут ни при чем. Я понимаю, что, если их использовать, такое невозможно. Однако от случайнах быстрых правок не застрахован никто.
Back to top
View user's profile Send private message Send e-mail
IgorA
Заглянувший



Joined: 26 Jan 2006
Posts: 7
Карма: 0
   поощрить/наказать


PostPosted: Sun Jan 29, 2006 1:26 pm (спустя 9 минут; написано за 30 секунд)
   Post subject:
Reply with quote

спасибо за ответ , есть над чем подумать
Back to top
View user's profile Send private message
Иван Шумков
Участник форума



Joined: 30 Dec 2004
Posts: 229
Карма: 6
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Mon Jan 30, 2006 12:22 am (спустя 10 часов 55 минут; написано за 32 секунды)
   Post subject:
Reply with quote

А стоит выполнять запрос если произошла ошибка с плэйсхолдерами?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Mon Jan 30, 2006 1:36 am (спустя 1 час 13 минут; написано за 1 минуту 5 секунд)
   Post subject:
Reply with quote

Тут есть 2 мнения:
1. стоит
2. НЕ стоит
Лично я считаю, что от (1) ничего плохого не случится - база вернет синтаксическую ошибку. Некоторые говорят, что не стоит базе скармливать мусор, но я думаю - почему бы и нет?
Back to top
View user's profile Send private message Send e-mail
Иван Шумков
Участник форума



Joined: 30 Dec 2004
Posts: 229
Карма: 6
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Mon Jan 30, 2006 4:00 am (спустя 2 часа 23 минуты; написано за 2 минуты 2 секунды)
   Post subject:
Reply with quote

Хм. Я считаю "почему бы и нет" - не довод, а то, что отправлять изначально неверный запрос в БД - ошибка, правильно некторые говорят.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Mon Jan 30, 2006 1:44 pm (спустя 9 часов 44 минуты; написано за 3 минуты 16 секунд)
   Post subject:
Reply with quote

Не "изначально неверный" - а "заведомо синтаксически некорректный". Это разные вещи.

В интерфейсе БД<->PHP уже есть средства для отлова ошибок, и дублировать их я считаю нецелесообразным. Неверный placeholder может быть только в одном случае: если Вы где-то добавили лишний вопросик, т.е. указали параметров меньше, чем вопросиков в запросе. Это - типичная ошибка синтаксиса (если бы PHP был компилятором, и он обрабатывал бы SQL-вставки как языковые конструкции, он бы так и сказал). Так что "ошибка синтаксиса SQL" - вполне хороший текст ошибки, а какой-нибудь маркер в место отсутствующего placeholder-а - дополнительная информация к ней.

Короче, попробуйте сами попользоваться тем и другим, а потом выберите для себя то, что удобнее.
Back to top
View user's profile Send private message Send e-mail
Иван Шумков
Участник форума



Joined: 30 Dec 2004
Posts: 229
Карма: 6
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Mon Jan 30, 2006 6:08 pm (спустя 4 часа 23 минуты; написано за 2 минуты 28 секунд)
   Post subject:
Reply with quote

В общем, вы тоже правы.
А в случае если стоит собачка перед запросом? Тут, я думаю, точно нет смысла отсылать "заведомо синтаксически некорректный" запрос.
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 197
   поощрить/наказать

Location: 007 495

PostPosted: Tue Jan 31, 2006 8:29 pm (спустя 1 день 2 часа 21 минуту; написано за 1 минуту 50 секунд)
   Post subject:
Reply with quote

Иван Шумков wrote:
А в случае если стоит собачка перед запросом?
А какой смысл составлять синтаксически неверный запрос и ставить перед ним собачку? Как раз если синтаксическая ошибка, то стОит сообщать об ошибке, чтобы программист не застрелился, пока найдёт, в чём проблема.
Back to top
View user's profile Send private message Send e-mail
Иван Шумков
Участник форума



Joined: 30 Dec 2004
Posts: 229
Карма: 6
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Thu Feb 02, 2006 5:17 pm (спустя 1 день 20 часов 47 минут; написано за 3 минуты 5 секунд)
   Post subject:
Reply with quote

Юpий Насрeтдинов wrote:
А какой смысл составлять синтаксически неверный запрос и ставить перед ним собачку?
Составлен этот запрос правильно. А вот переменная в плэйсхолдер может прийти в нее пустой или вообще не прийти. И если она не пришла, если специально поставил собачку, не надо просто выполнять запрос и не надо шума.
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 197
   поощрить/наказать

Location: 007 495

PostPosted: Thu Feb 02, 2006 8:51 pm (спустя 3 часа 34 минуты; написано за 39 секунд)
   Post subject:
Reply with quote

Иван Шумков
Извините, по-моему Вы говорите какую-то ерунду сейчас... Или, по крайней мере, не очень чётко формулируете свою мысль.
Back to top
View user's profile Send private message Send e-mail
Иван Шумков
Участник форума



Joined: 30 Dec 2004
Posts: 229
Карма: 6
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Thu Feb 02, 2006 9:25 pm (спустя 33 минуты; написано за 5 минут)
   Post subject:
Reply with quote

Попробую еще раз. Дмитрий говорит (forum.dklab.ru/viewtopic.php?p=102114#102114), что отправляет "заведомо синтаксически некорректный" sql в базу, для того чтобы использовать уже реализованные "средства для отлова ошибок".
Когда мы ставим собачку перед запросом - мы затыкаем ошибку, тоесть сообщение об ошибке не выводится - мы ее игнорируем.

Теперь вопрос: зачем мы отправляем "заведомо синтаксически некорректный" sql в базу в случае если у нас стоит собачка перед запросом (еше раз повторюсь: в случае когда нам не нужны уже реализованные "средства для отлова ошибок", так как мы игнорируем вывод ошибки)?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Fri Feb 03, 2006 11:58 am (спустя 14 часов 33 минуты; написано за 12 секунд)
   Post subject:
Reply with quote

Иван Шумков wrote:
зачем мы отправляем "заведомо синтаксически некорректный"
Вы нас спрашиваете, зачем вы отправляете? :-)
И правда, зачем?
Back to top
View user's profile Send private message Send e-mail
Иван Шумков
Участник форума



Joined: 30 Dec 2004
Posts: 229
Карма: 6
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Fri Feb 03, 2006 2:14 pm (спустя 2 часа 16 минут; написано за 1 минуту 58 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров
Отправляю не я, а библиотека, а так как вы ее автор, то и спрашиваю вас. Может если произошла ошибка плэйсхолдеров стоит проверять, стоит ли собачка, если да то не выполнять запрос а просто в лог добавлять. Было бы круто :).
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Fri Feb 03, 2006 3:04 pm (спустя 49 минут; написано за 35 секунд)
   Post subject:
Reply with quote


М

Так. А теперь, пожалуйста, еще раз с самого начала и понятным языком - с примерами кода.
И прочитайте вначале Как правильно задавать вопросы: статья, обязательная к прочтению (citforum.ru/howto/smart-questions-ru.shtml)
Back to top
View user's profile Send private message Send e-mail
Иван Шумков
Участник форума



Joined: 30 Dec 2004
Posts: 229
Карма: 6
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Fri Feb 03, 2006 3:38 pm (спустя 34 минуты; написано за 5 минут 26 секунд)
   Post subject:
Reply with quote

Эх. Вы смеетесь надо мной? Ваша библиотека выполняет запрос если перед ним стоит собачка и произошла ошибка при замене плэйсхолдеров на значения. Почему? Уже обьяснял (forum.dklab.ru/viewtopic.php?p=102477#102477). Следствие: не надо выполнять запросы если перед ним стоит собачка и произошла ошибка при замене плэйсхолдеров на значения.
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 197
   поощрить/наказать

Location: 007 495

PostPosted: Fri Feb 03, 2006 10:10 pm (спустя 6 часов 31 минуту; написано за 35 секунд)
   Post subject:
Reply with quote

Иван Шумков
Под «примеры кода» имелось ввиду, что надо их всё-таки привести. Причём те, в которых может понадобиться подобное извращение, как отправка синтаксически неверного запроса.
Back to top
View user's profile Send private message Send e-mail
Иван Шумков
Участник форума



Joined: 30 Dec 2004
Posts: 229
Карма: 6
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Sat Feb 04, 2006 1:07 am (спустя 2 часа 56 минут; написано за 8 минут 38 секунд)
   Post subject:
Reply with quote

Юpий Насрeтдинов
Господа, вы помойму действительно смеетесь надо мной.

Попробу привести пример:
Code (php): скопировать код в буфер обмена
$array = array (www.php.net/array)();
$db->Select('SELECT * FROM table WHERE `id` IN (?a)', $array);
Библиотека отправляет в базу "синтаксически неверный запрос" и база вернет ошибку. Как обьясняет Дмитрий, это делается дабы не дублировать отлов ошибок.

Тот же пример, но тут мы хотим игнорировать эту ошибку и ставим собачку перед запросом:
Code (php): скопировать код в буфер обмена
$array = array (www.php.net/array)();
@$db->Select('SELECT * FROM table WHERE `id` IN (?a)', $array);
В данном случае происходит то же самое, но ошибка базы будет проигнорирована, так как стоит собачка. Встает вопрос: зачем библиотека отправляет в базу "синтаксически неверный запрос" если ошибка нас не интересует?
Back to top
View user's profile Send private message
Юрий Насретдинов
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sat Feb 04, 2006 11:51 am (спустя 10 часов 44 минуты)
   Post subject:
Reply with quote

Нет, Вы значит неправильно сформулировали. Запрос изначально синтаксически корректен, просто отправляется в качестве аргумента пустой массив.

В таком случае мне не совсем ясно, как Вы собираетесь обрабатывать результат подобного запроса, не лучше ли в самом скрипте поставить проверку на пустоту до того, как посылать запрос, а не после?
Back to top
Иван Шумков
Участник форума



Joined: 30 Dec 2004
Posts: 229
Карма: 6
   поощрить/наказать

Location: Россия, Санкт-Петербург

PostPosted: Sat Feb 04, 2006 2:41 pm (спустя 2 часа 49 минут; написано за 59 секунд)
   Post subject:
Reply with quote

Пустой масив может прийти как аргумент функции и т.д. и везде ставить проверки приведет к раздутию когда, может просто если запрос не кретичный поставить перед ним собачку и все?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Sat Feb 04, 2006 5:24 pm (спустя 2 часа 43 минуты; написано за 2 минуты 28 секунд)
   Post subject:
Reply with quote

Если Вы используете собаку, то единственно разумное действие далее - проверить все-таки результат работы метода. Если Вы его не проверяете, это ОШИБКА: собака ставится не для того, чтобы давить ошибки, а для того, чтобы иметь возможность их вручную обработать. И применять ее категорически не рекомендуется (за исключением разве что случаев, когда Вы ТОЧНО проверяете возвращенный результат).

В Вашем примере select() вернет null, а в $db->errmsg и $db->error будет записана причина ошибки и ее контекст соответственно.
Back to top
View user's profile Send private message Send e-mail
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 197
   поощрить/наказать

Location: 007 495

PostPosted: Sat Feb 04, 2006 11:13 pm (спустя 5 часов 48 минут; написано за 9 секунд)
   Post subject:
Reply with quote

...Я может быть не очень внятно, но именно это и говорил :)
Back to top
View user's profile Send private message Send e-mail
Andrew Stephanoff
Заглянувший



Joined: 15 Feb 2006
Posts: 15
Карма: 0
   поощрить/наказать

Location: Belarus, Minsk

PostPosted: Wed Feb 15, 2006 9:50 am (спустя 10 дней 10 часов 36 минут; написано за 3 минуты 9 секунд)
   Post subject:
Reply with quote

Очень полезная библиотека.
У меня вопрос: когда передается строка dsn, вы разбираете ее "в ручную".
Почему нельзя воспользоваться стандартной функцией php parse_url()?
Просто я писал свой класс для работы с DB, где dsn разбирал именно через parse_url.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 412
   поощрить/наказать


PostPosted: Wed Feb 15, 2006 4:23 pm (спустя 6 часов 32 минуты)
   Post subject:
Reply with quote

Почему нельзя? Наверное, можно. Мне просто не пришла эта мысль в голову, вот и все.
Кстати, код парсинга DNS взят (с незначительными изменениями) из PEAR DB. Так что они, видать, тоже не догадались.
Back to top
View user's profile Send private message Send e-mail
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Thu Feb 16, 2006 1:09 pm (спустя 20 часов 46 минут; написано за 1 минуту 25 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров
А почему DBSimple, а не Database_DBSimple, по аналогии с Database_Placeholder ?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies. All times are GMT + 3 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
Page 2 of 10    Email to a Friend.
You cannot post new topics in this forum. You can reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML