我有一些代码来做一个简单的mysqli程序INSERT INTO我的DB。它看起来像这样:
$conn2 = mysqli_connect($servername, $username, $password, $dbname_name);
// Check connection
if (!$conn2) {
die("Connection failed: " . mysqli_connect_error());
}
// prepare and bind
$stmt2 = $conn2->prepare("INSERT INTO db_name (resource_owner, resource_title, resource_text_intro, resource_active) VALUES (?, ?, ?, ?)");
$stmt2->bind_param("issi", $resource_owner, $resource_title, $introduction, $resource_active);
// set parameters and execute
$resource_title = $_POST['resource_title'];
$introduction = $_POST['introduction'];
$resource_active = 0;
$stmt2->execute();
由于某些我无法看到的原因,这不是插入数据库,也没有收到任何错误消息。我的表单只是循环回到表单页面(我将其设置为在插入后重定向到新页面)。我已经确认$ _POST ['提交']实际上正在运行,因此脚本的这一部分不会被跳过。
有什么想法吗?
答案 0 :(得分:0)
插入db_name?在查询中使用您的表名更改它,并删除bind_param
中的第一个参数答案 1 :(得分:0)
更多错误处理
<?php
$conn2 = mysqli_connect($servername, $username, $password, $dbname_name);
// Check connection
if (!$conn2) {
die("Connection failed: " . mysqli_connect_error());
}
// prepare and bind
$stmt2 = $conn2->prepare("INSERT INTO db_name (resource_owner, resource_title, resource_text_intro, resource_active) VALUES (?, ?, ?, ?)");
if ( !$stmt2 ) {
die($conn2->error);
}
else if ( !$stmt2->bind_param("issi", $resource_owner, $resource_title, $introduction, $resource_active) ) {
die($stmt2->error);
}
else {
// set parameters and execute
$resource_title = $_POST['resource_title'];
$introduction = $_POST['introduction'];
$resource_active = 0;
if ( !$stmt2->execute() ) {
die($stmt2->error);
}
else {
echo 'done.';
}
}