php - PHP查询不会插入数据库
问题描述
下面的查询不会插入到数据库中,我已经在我的数据库上尝试过这个查询,所以我很确定查询正在工作。我还在下面添加了 dbcon.php。
<?php
require '../api/dbcon.php';
$stmt=$conn->prepare("INSERT INTO joborder (AirCondition,
CarpentryMasonry,
ElectricalWorks,
Plumbing,
Welding,
Campus,
priorityId,
RequestorName,
UserJobDescription,
SerialCode
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" );
$stmt->bind_param('ssssssssss',
$airConditioning,
$masonryCarpentry,
$electrical,
$plumbing,
$welding,
$campus,
$priority,
$requester,
$userJobDescription,
$serialCode);
$airConditioning = "check";
$masonryCarpentry = "check";
$electrical = "check";
$plumbing = "check";
$welding = "check";
$campus = 'NA';
$priority = '1';
$requester = "m";
$userJobDescription ="test";
//create serial code
$serialCode= "na12321";
?>
dbcon.php
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbtable = "table";
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbtable);
if(!$conn ){
die('Could not connect: ' . mysqli_error());
}
?>
解决方案
您正在使用错误的错误报告模式,因此需要仔细检查各处的错误,但您没有。
在第 4 行的 not-dbcon.php 上,您没有检查 $conn->prepare 是否成功,这样做,如果出现错误,它将返回 bool(false)。在第 16 行,您没有检查 $stmt->bind_param 是否成功,这样做,如果出现错误,它会返回 bool(false)。或者更好的是,不要这样做,只需$conn->report_mode = MYSQLI_REPORT_ALL;
在创建对象后立即运行,将返回值错误报告转换为异常错误报告。
...而且最重要的是,您似乎忘记了运行 $stmt->execute(),它实际上执行了查询,这显然解释了为什么您没有插入任何内容。
推荐阅读
- apache-spark - 如何从 QlikView 连接到 Databricks Delta 表?
- mysql - 查询耗时 5000 秒,但仍无法执行
- laravel - 在 cpanel 上更新 laravel vuejs 应用程序的 vue 组件
- python - How to split the sublist from the list and add the data in another list
- autodesk-forge - Autodesk Forge 查看器标记大文本被截断
- augmented-reality - 水上增强现实
- javascript - 测试使用 useEffect 钩子和 apollo 的自定义上下文钩子
- python-3.x - 查找元组列表的最大聚合
- c# - 无法调整外部窗口的大小
- css - 闪亮的 sliderTextInput 使所有文本标签可见