gpt4 book ai didi

php - 尝试从 user_id = $_SESSION ['id' 的数据库表中进行选择时出错]

转载 作者:搜寻专家 更新时间:2023-10-30 21:49:02 24 4
gpt4 key购买 nike

我看到有很多关于此错误的帖子,但我找不到针对我的特定问题的答案。我正在尝试为用户显示一个表格,但前提是已登录,并且表格行是由该特定用户添加的。所以,我正在尝试使用这一行:

$sql = "SELECT * FROM data WHERE id_user = $_SESSION['id']";
$result = mysqli_query($connect, $sql);

我得到这个错误:

" syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)"

我也试过了

$sql = "SELECT * FROM 'data' WHERE 'id_user' = '$_SESSION['id']'";

注意表名和变量周围的 ' '

要更改什么以使语法良好?

最佳答案

不要那样做,使用准备好的语句:

$sql = "SELECT * FROM data WHERE id_user = ?";
$stmt = mysqli_prepare($link, $sql);
mysqli_stmt_bind_param($stmt, "i", $_SESSION['id']);
mysqli_stmt_execute($stmt);

可在此处找到更多信息:https://secure.php.net/manual/en/mysqli.prepare.php

这需要一些时间来适应,而且可能会更冗长(您可以将其包装在您自己的类或函数中),但它会更加安全和可移植。

更不用说你可以向你的 friend 吹嘘你默认使用准备好的语句了!

关于php - 尝试从 user_id = $_SESSION ['id' 的数据库表中进行选择时出错],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54530561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com