2014-10-01 2 views
0

Я пытаюсь вставить некоторые данные, используя PDO, как показано нижеPDO вставки запроса не вставляя данные

$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); 


if ($statement->execute()) { 
     echo "executed"; exit; 
     return $this->db->conn_id->lastInsertId(); 
    } else { 
     echo "not executed"; exit; 
    } 

всегда показывает мне «Не выполняется», но когда я выполнить запрос вручную, он отлично работает

+0

Нет, это не проблема, мы можем использовать 'set' в' insert' queryies, или вы говорите, что 'PDO' не позволяет это ?? – baig772

+0

Используйте 'setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION)' тогда, если вы еще этого не сделали. В нем будут указаны ваши ошибки. Очевидно, вы не проверяете ошибки. –

+0

уже пробовал, что он ничего не показывает – baig772

ответ

0

Проблема в том, что вы смешиваете связывание и строки.

Bind

$parent_id 
$cat_description 

Вы опечаток мой друг. Очистите свой код.

$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"; 
+0

для этого, я выхожу на следующую проблему :(http://stackoverflow.com/questions/26069715/pdo-parameter-is-not-binding – baig772

Смежные вопросы