Я пытаюсь привязать параметр к моему запросу, он не привязывает некоторые параметры.
Размещенный массив
Array
(
[action] => add_category
[fk_user_account_type_id] => Array
(
[0] => 1
[1] => 2
[2] => 5
[3] => 6
[4] => 7
[5] => 8
[6] => 9
)
[cat_name] => Special Deals
[parent_cat] => 0
[cat_status] => Active
[page_content] =>
this is test
)
$cat_name = $postArray['cat_name'];
$cat_status = $postArray['cat_status'];
$parent_id = $postArray['parent_cat'];
$cat_description = $postArray['page_content'];
$sql = "INSERT INTO tbl_category SET `category_title` = :cat_name , `category_alias` = :category_alias , `category_status`= :cat_status, `category_parent_id` = :parent_id, ". "category_description = :cat_description";
$statement = $this->db->conn_id->prepare($sql);
$statement->bindParam(':cat_name', $cat_name, PDO::PARAM_STR);
$statement->bindParam(':cat_status', $cat_status, PDO::PARAM_STR);
$statement->bindParam(':category_alias', $category_alias, PDO::PARAM_STR);
$statement->bindParam(':parent_id', $parent_id, PDO::PARAM_INT);
$statement->bindParam(':cat_description',$cat_description, PDO::PARAM_STR);
и когда я делаю
echo $this->parms($sql,$postArray); exit // for debugging;
это показывает мне запрос как
INSERT INTO tbl_category SET `category_title` = 'Special Deals' , `category_alias` = 'special_deals' , `category_status`= 'Active', `category_parent_id` = :parent_id, category_description = :cat_description
BindParam
передается по ссылке, поэтому ему нужно значение, а у вас его нет, замените его на bindValue
,
$statement->bindValue(':cat_name', $cat_name, PDO::PARAM_STR);
$statement->bindValue(':cat_status', $cat_status, PDO::PARAM_STR);
$statement->bindValue(':category_alias', $category_alias, PDO::PARAM_STR);
$statement->bindValue(':parent_id', $parent_id, PDO::PARAM_INT);
$statement->bindValue(':cat_description',$cat_description, PDO::PARAM_STR);
Других решений пока нет …