2017-07-12 44 views
1

我有一个简单的代码来输入数据到我的数据库 使用准备和bind_param没有错误PHP数据未插入,但在使用bind_param

没有错误,但我的数据不被输入到数据库

$stmt1 = $mysqli -> prepare ("INSERT INTO equipment(eqp_type, eqp_name, eqp_qty, eqp_usd, $eqp_idr) VALUES (?,?,?,?,?)"); 
    $stmt1->bind_param('sssss',$eqp_type, $eqp_name, $eqp_qty, $eqp_usd, eqp_idr); 
    $eqp_type = 'BUC'; 
    $eqp_name = 'BUC test'; 
    $eqp_qty = '1'; 
    $eqp_usd = '0'; 
    $eqp_idr = '0'; 
    $stmt1->execute(); 

是否有任何想法,为什么没有错误,但我的数据没有输入到数据库?

+1

你真的在执行查询吗? – jeroen

+0

你的执行语句在哪里? – Sehdev

+0

因为你没有执行查询 –

回答

1

你可能会忘记执行它。

你可以用下面的代码做到这一点:

$stmt1->execute(); 

所以,你的代码将如下所示:

$eqp_type = 'BUC'; 
$eqp_name = 'BUC test'; 
$eqp_qty = '1'; 
$eqp_usd = '0'; 
$eqp_idr = '0'; 
$stmt1 = $mysqli -> prepare ("INSERT INTO equipment(eqp_type, eqp_name, eqp_qty, eqp_usd, eqp_idr) VALUES (?,?,?,?,?)"); 
$stmt1->bind_param('sssss',$eqp_type, $eqp_name, $eqp_qty, $eqp_usd, $eqp_idr); 
$stmt1->execute(); 

手册

PHP: mysqli_stmt::bind_param

+0

对不起,我执行它,我将revice这篇文章,但它仍然无法工作 –

+0

变量呢?他们应该在'bind_params'之前像我的代码 –

+0

哇!它的作品!谢谢@卡罗尔Gasienica –

1

您需要添加$stmt1->execute(),你会得到错误,因为你也错过了$eqp_idr