我正在尝试使代码的这一部分起作用。 1.我不明白什么是“ ssi”。 2.如果我只想要姓氏并在两个地方都删除姓氏,则代码将不再起作用。这是为什么?
因此,通过执行第二步,我无法编辑和调整我的代码。我只希望姓氏存在,而不是姓氏,但是如果我删除那些姓氏变量,它将不起作用。不明白为什么?你能帮我吗?
感谢您的时间
if ($stmt = $mysqli->prepare("UPDATE players SET firstname = ?, lastname = ?
WHERE id=?"))
{
$stmt->bind_param("ssi", $firstname, $lastname, $id);
$stmt->execute();
$stmt->close();
}
答案 0 :(得分:0)
第一个参数(在您的情况下为“ ssi”)是一种格式字符串,它告诉bind_param
绑定了哪些类型的参数。 “ s”代表“字符串”,“ i”代表“整数”。在这里,您有一个由两个字符串(名字和姓氏)和一个整数(id)组成的系列。
如果要删除姓氏,则应从set
子句中删除姓氏,删除其绑定变量,然后从格式字符串中删除相应的“ s”:
if ($stmt = $mysqli->prepare("UPDATE players SET firstname = ? WHERE id = ?"))
# Updating lastname was removed here -------------------------^
{
$stmt->bind_param("si", $firstname, $id);
# s removed --------^
# $lastname remoed ----------------^
$stmt->execute();
$stmt->close();
}