数据未插入但使用bind_param没有错误PHP

时间:2017-07-12 09:42:38

标签: php mysql database bindparam

我有一个简单的代码来输入数据到我的数据库 使用prepare和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();

有没有想法为什么没有错误,但我的数据没有输入数据库?

3 个答案:

答案 0 :(得分:1)

您必须使用

执行查询
$stmt1->execute();

请在此处阅读:http://php.net/manual/en/pdostatement.execute.php

答案 1 :(得分: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

答案 2 :(得分:1)

您需要添加$stmt1->execute(),因为您错过$中的eqp_idr

,您将收到错误