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

Data not inserted but have no error PHP using bind_param

我有一个简单的代码可以将数据输入我的数据库 使用 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();

知道为什么没有错误但我的数据没有输入数据库吗?

您必须使用

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

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

您可能会忘记执行它。

您可以使用以下代码完成:

$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

您需要添加 $stmt1->execute() 并且您会收到错误消息,因为您在 eqp_idr

中也错过了 $