[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Построение запроса из массива
eda-76@mail.ru
Передаю в функцию массив (имя поля:значение) и хочу чтобы у меня автоматом сформировала запрос на добавление записи в таблицу. Формирую строку типа insert into tabl (p1,p2,p3) values ('1','test','test') и ее выполняю (вроде работает) но решил сделать с помощью параметров

	$sql='insert into tabl(';
$sql_vals='VALUES (';
$sql_params = array();
$sql_str='';
foreach ($_POST as $key => $value) {
if (substr($key,0,1)!='_') {
$sql=$sql.$key.',';
$sql_vals=$sql_vals.'?,';
$sql_params[]=$value;
}
}

if (substr($sql, -1)==',') $sql=mb_substr($sql, 0, -1);
if (substr($sql_vals, -1)==',') $sql_vals=mb_substr($sql_vals, 0, -1);
$sql=$sql.') ';
$sql_vals=$sql_vals.') ';
$sql=$sql.$sql_vals; //"insert into tabl(id,name,nomer) VALUES (?,?,?)
$_STATEMENT = $mysqli->prepare($sql);
$_STATEMENT->bind_param( $sql_str, $sql_params );
$_STATEMENT->execute();


проблема возникает в параметре $sql_str в строке bind_param( $sql_str, $sql_params ); так как неизвестно какого типа будут переменные в массиве. может я изобретаю велосипед, посоветуйте как можно это сделать по проще
Быстрый ответ:

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