【发布时间】:2017-07-24 07:26:26
【问题描述】:
我正在尝试使用 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));
我不知道为什么,我一直在尝试弄清楚。
【问题讨论】:
-
请检查 $stmtInsert 在准备查询之后绑定参数之前的类型。
-
从找出错误所在开始:stackoverflow.com/questions/22662488/…
-
不相关的错误:您不能在
bind_param()中使用intval()。参数必须绑定到变量,而不是函数。
标签: javascript php jquery mysql sql