php - 'this' 中的未知列 'where clause'

标签 php html mysql sql

我已尽最大努力在以前的线程中找到我的问题的答案,但就是找不到我需要的东西,我的 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/

相关文章:

jquery - 网页不在网站上显示图像。仅限谷歌浏览器

mysql - 2 auto_increment 字段,其中 1 重置

mysql - 需要以对手的别名而不是逐队返回对手得分

javascript - 替换按钮文本 onclick JS

php - 获得最高分,但删除重复用户 (SQL)

php - AMFPHP:无需网关即可通过 HTTP 序列化 Flash 对象

javascript - 多维 Javascript 数组到 Php 页面

php - TIMESTAMPDIFF(MINUTES, $foo1, $foo2) 未显示

php - 如何从mysql获取每小时的数据?

html - 如何让父级(相对)根据子级(绝对)div 展开