[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как передать массив в стрку параметров
Ajeki
Использую DbSimple библиотечку. Хочу сделать что-то типа:

$A= 'aaa,bbb,ccc';
$B= '?s,?s,?d';
$C = array('vasia','M','2');

$db->query('insert into ($A) values($B)',$C);

(вообще сама по себе функция работает так:
$db->query('insert into ($A) values($B)','vasia','M','2')wink.gif

понятно, что параметры и их кол-во будут меняться

P.S.
не хочу курочить саму DbSimple
не хочу вставлять значения напрямую в запрос

заранее спасибо



Спустя 6 часов, 40 минут, 16 секунд (29.09.2009 - 11:24) jetistyum написал(а):
напиши врапер к библиотеке. Используй не прямое определение аргументов функции и разбирай аргументы, проверяя что они из себя представляют

Спустя 3 часа, 28 минут, 17 секунд (29.09.2009 - 14:52) Ajeki написал(а):
Цитата (jetistyum @ 29.09.2009 - 08:24)
напиши врапер к библиотеке. Используй не прямое определение аргументов функции и разбирай аргументы, проверяя что они из себя представXляют

Чессно, ниче не понял. biggrin.gif Хотя далеко не нуб в php. Можно попросить как-то перефразировать?

Спустя 6 минут, 29 секунд (29.09.2009 - 14:59) glock18 написал(а):
Ajeki
Имеется ввиду, написать какой-то класс-обертку для этой библиотеки, который будет разбирать параметры, подавая их библиотеке в ее привычном виде.

А вообще, если вы понимаете, то код

PHP
$A= 'aaa,bbb,ccc';
$B= '?s,?s,?d';
$C = array('vasia','M','2');

$db->query('insert into ($A) values($B)',$C);


представляет собой подготовленные запросы. И примерно в таком виде можно это увидеть в PDO. "примерно" имеется ввиду, что там такое тоже есть, а помимо этого еще очень красивые вещи.

я имею ввиду, задумайтесь, может проще перейти на нормальную библиотеку, которая входит в стандартную сборку php?

Спустя 28 минут, 44 секунды (29.09.2009 - 15:28) Ajeki написал(а):
Просто привык к DbSimple. И не люблю ковырять готовые классы, без особой на то надобности. Ибо потом с обновлением могут возникнуть проблемы. Хотя согласен, немного переделать сам класс всего делов-то.

А нормальная библиотека это какая?

Короче , я так понял, передать параметры таким образом в функцию никак не получится.
Т.е. такой код утопичен?
PHP
$A = array(1,2,3);
xxx($A);

function 
xxx()
{
  
$B func_get_args;
 
//$B теперь содержит array(1,2,3) 
}



Спустя 42 минуты, 57 секунд (29.09.2009 - 16:11) Guest написал(а):
как это никак ?
сказали же дважды, написать обёртку.

ну то есть создай класс который будет наследоваться от dbsimple
а в нём функцию которая будет получать параметры и передавать их в том виде
который нужен оригинальной функции query/selectRow и т.д.

function xxx(запрос,параметры как хотелось бы)
{
//что то делаем с запросом и параметрами, что бы соответствовало всё стандартам dbsimple
return parent::query(запрос, параметры); //parent::selectRow и т.д...
//возможно нужно написать несколько функций обёрток
}
Быстрый ответ:

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