我已尽最大努力在以前的线程中找到我的问题的答案,但就是找不到我需要的东西,我的 php 文档中有一个函数可以更新用户表中的列 (follow (varchar))使用预定义变量,当 a_username 与 sessionnaeme 匹配时,此函数返回错误“'where clause' 中的未知列'this'”这是表格布局:Table structure 我是 php 的新手,所以任何帮助将不胜感激! (抱歉,如果问题不清楚,请提出您可能有的任何问题) php 函数如下。 提前致谢!!
<?php
if(isset($_POST['submit'])) {
$sessionname = $_SESSION['user'];
$follow = mysqli_real_escape_string($conn, $_POST['addedname']);
$sql = "UPDATE users SET follow =" .$follow. " WHERE a_username =".$sessionname."";
$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
if($result !== false) {
header("Location: ./Profile.php?Follow=success");
exit;
} else {
echo "Fail";
}
}
?>
最佳答案
这是在 MySqli 中使用绑定(bind)参数的方法。
$query = "UPDATE users SET follow = ? WHERE a_username = ?";
$stmt = $conn->prepare($query);
$stmt->bind_param("ss", $_POST['addedname'], $_SESSION['user']);
$stmt->execute();
$result = $stmt->get_result();
if(!$result->num_rows === 0){
header("Location: ./Profile.php?Follow=success");
exit;
} else {
echo 'Fail';
}
$stmt->close();
这是使用 MySqli 进行参数化查询的优秀初学者指南。将此链接加入书签并经常引用。 Prevent SQl Injection
关于php - 'this' 中的未知列 'where clause',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52676236/