我试图用AJAX将数据插入到我的一个表中。
这是我的PHP代码:
include '../data/header.php'; //Here I get my DB-Connection Data from (username etc.)
$usernameToAdd = $_POST["usernameToAdd"];
$groupId = $_POST["groupId"];
$conn = new mysqli($dbserver, $dbuser, $dbpassword, $dbname);
$stmt = $conn->prepare("SELECT id FROM user WHERE username=?;");
$stmt->bind_param("s", $usernameToAdd);
$stmt->execute();
$stmt->bind_result($id);
if($stmt->fetch() > 0) {
$stmtInsert = $conn->prepare("INSERT INTO group_membership (userId, groupId) VALUES (?, ?);");
$stmtInsert->bind_param("ii", intval($id), intval($groupId));
$stmtInsert->execute();
}
它是一个群组关系表。 userId被添加到groupId。
以下是发布的数据:
groupId 29
usernameToAdd user1
或作为原始数据
groupId=29&usernameToAdd=user1
我想知道我犯了什么错误?用户" user1"肯定存在于表用户中。
如果您需要,我的JavaScript代码也是:
function addUserToGroup(btn){
var groupId = btn.getAttribute("id").substring(13);
var usernameToAdd = $("#addToGroup"+groupId).val();
$.post("groups/addUserToGroup.php",
{
groupId: groupId,
usernameToAdd: usernameToAdd
},
function (data, status) {
});
}
总是给我一个
致命错误:在布尔值上调用成员函数bind_param() 在 D:\ xampp \ htdocs \ myCalendar \ groups \ addUserToGroup.php 在线 14
在此行$stmtInsert->bind_param("ii", intval($id), intval($groupId));
我不知道为什么,而且我一直想弄清楚。
答案 0 :(得分:0)
你可以这样试试
$sql = "INSERT INTO group_membership (userId, groupId) VALUES (?, ?);";
if($query = $conn->prepare($sql)){
$stmtInsert ->bind_param("ii", intval($id), intval($groupId));
$stmtInsert ->execute();
//rest of code here
}else{
//error !! don't go further
var_dump($conn->error);
}
如果有任何错误,那么如果表格field name
或datatype
不匹配,您将收到有关错误的信息