我已经尽力在以前的线程中找到问题的答案,但就是找不到我需要的,我的php文档中有一个函数,当用户名与sessionnaeme匹配时,它会用预定义的变量更新users表中的一列(follow(varchar)),但是,这个函数返回错误“unknown column'this'in'where clause'”这是tabel layout: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";
}
}
?>
2条答案
按热度按时间gjmwrych1#
对于字符串值,应该在值周围使用引号
无论如何,您应该避免在sql中使用php变量。您发现了sql注入的风险区域。。您应该看看sql驱动程序管理器是如何准备语句和绑定参数的
u2nhd7ah2#
下面是如何在mysqli中使用绑定参数。
这是一个使用mysqli参数化查询的初学者指南。将此链接添加书签并经常引用。防止sql注入