[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как пробаиндить параметры в цикле?
alexander.korotkov
Добрый день, вот такой вопрос есть метод класса:


public function protectedQuery2()
{
/*$stmt = $this->mysqli->prepare($sql);
$stmt->bind_param('ssssd', $namePost, $datePost, $shortDescriptionPost, $descriptionPost, $actionPost);
*/


$numargs = func_num_args(); //получаем кол-во аргументов передынных функции
$arg_list = func_get_args(); //получаем значения всех аргументов
$stmt = $this->mysqli->prepare($arg_list[0]); //$arg_list[0] наш запрос
$params = array();
for ($i = 1; $i < $numargs; $i++) // баиндим их в цикле
{

$stmt->bind_param('s', $arg_list[$i]);

}

$stmt->execute();
$stmt->close();

}


Раньше все работало, если баиндить параметры, как описано в самом верху метода в комментариях. Но мне нужно передавать сюда разные запросы, с разным кол-ом параметров, сейчас ничего не получается выдает 5 строчек с надписью Warning: Wrong parameter count for mysqli_stmt::bind_param() in Z:\home\myblog\www\DataBase.php on line 55

Передаю все в этот метод вот так:

$namePost = "Имя поста";
$datePost = "Дата поста";
$shortDescriptionPost = "Описание поста";
$descriptionPost = "Полное описание поста";
$actionPost = 1;


//Добавляем данные в таблицу posts через метод класса protectedQuery (передает запрос через prepare())
$query = "INSERT INTO posts VALUES(NULL, ?, ?, ?, ?, ?)";
$db->protectedQuery2($query, $namePost, $datePost, $shortDescriptionPost, $descriptionPost, $actionPost);
Быстрый ответ:

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