2016-09-23 20 views
-1
function add_product($product_name, $product_brand, $product_type, 
         $product_description,$product_price, $number, 
         $reservefee, $status,$image,$supplier_id) 

{ 
    global $data,$sth; 
    $con = new mysqli("localhost","root","","eeee"); 
    $sth = $con->prepare("INSERT INTO products 
           (product_name,product_brand,product_type, 
           product_description,product_price,number,reservefee, 
           status,image,supplier_id) 
          VALUES(0,?,?,?,?,?,?,?,?,?,?)"); 

    $sth->bind_param('ssssiiisbi', $product_name, $product_brand, $product_type,$product_description,$product_price, $number, $reservefee, $status,$image,$supplier_id); 

    $sth->execute(); 

    $data []= array(
    'product_name' => $product_name, 
    'product_brand' => $product_brand, 
    'product_type' => $product_type, 
    'product_description' => $product_description, 
    'product_price' => $product_price, 
    'number' => $number, 
    'reservefee' => $reservefee, 
    'status' => $status, 
    'image' => $image, 
    'supplier_id' => $supplier_id 
    ); 
} 
+0

看起来你的查询有错误... –

+0

第13行是**哪一行?** – RiggsFolly

+0

@RiggsFolly应该是一个带有bind_param的对象。 –

回答

2

你有$con->prepare错误,因此它已经返回false,因此bind_param已失败,因为它不在mysqli_statement对象上工作。

尝试从准备中的VALUES子句中删除?之一,因为您告诉mysql将11个参数插入到10个列名中。

+0

我已经删除了一些字段,但它不工作。 $ con = new mysqli(“localhost”,“root”,“”,“electronicsshop”); (',?,'product_branding','product_type','product_description',product_price,number,reservefee,'status','image')。 ,?,?,?,?,?,?,?)“); $ sth-> bind_param('ssssiiisb',$ product_name,$ product_brand,$ product_type,$ product_description,$ product_price,$ number,$ reservefee,$ status,$ image); $ sth-> execute(); –

+1

@MurithiH随机改变事物并不是解决方案。对你正在做的事情应用一点逻辑 – RiggsFolly

+1

现在你有10个列名和9个'''参数**它的简单数学!** – RiggsFolly

相关问题