У меня следующий код: первая вставка работает правильно и данные в базу данных, но второй запрос на вставку, который зависит от last_insert_id()
, не работает. Я пытался выяснить ошибку, но не смог это сделать?PDO Вставить запрос, не вставляя данные в базу данных?
<?php
namespace Solutions\File;
class AddUserData {
function __construct($DB_con)
{
$this->db = $DB_con;
}
public function insert_detail($productDetails){
var_dump($productDetails);
try
{
$stmt = $this->db->prepare("INSERT INTO product_master(reg_id,category_id,sub_cat_id,product_name) VALUES(:reg_id,:category_id,:sub_cat_id,:product_name)");
$query=$this->db->prepare("INSERT INTO gy_product_detail(product_id,product_detail,"
. "product_image_back,product_image_left,product_image_name,product_image_right,"
. "product_rate,product_discount) VALUES (last_insert_id(),:product_details,"
. ":product_image1,:product_image2,:product_image3,:product_image4,"
. ":rate,:discount");
$stmt->execute(array(':reg_id'=>$productDetails['registration_id'],
':category_id'=>$productDetails['catagory_id'],
':sub_cat_id'=>$productDetails['sub_cat_id'],
':product_name'=>$productDetails['product_name']));
$query->execute(array(
':product_details'=>$productDetails['product_details'],
':product_image1'=>$productDetails['image1']['name'],
':product_image2'=>$productDetails['image2']['name'],
':product_image3'=>$productDetails['image3']['name'],
':product_image4'=>$productDetails['image4']['name'],
':rate'=>$productDetails['product_cost'],
':discount'=>$productDetails['product_discount']));
return $stmt;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
}
Может ли кто-нибудь указать, где я ошибаюсь, и указать мне в правильном направлении, я не получаю ошибок, но я включил отчет об ошибках?
некоторые ссылки я говорил: MySQL- Why is LAST_INSERT_ID() not working for me? MySQL: LAST_INSERT_ID() returns 0
Я могу решить свою проблему с помощью ошибки fredi, которая связала меня с http://php.net/manual/en/pdo.error-handling.php thnks man –