php - 标准使用 session ID 显示相关信息

标签 php mysql

我希望使用 session 用户 id = PhysioReference(表中的一个字段)的条件,但它似乎不起作用?什么是正确的方法或有更好的方法?

它在表格中显示信息,但仅在登录人员已分配该信息的地方

$sql="SELECT * FROM IA WHERE IASubmitted= 'no' AND PhysioReference = $_SESSION['SESS_MEMBER_ID']";

最佳答案

您想要的内容的文字表示(坏主意)将使用 Complex (curly) in string variable syntax :

$sql="SELECT * FROM IA
      WHERE IASubmitted= 'no' AND PhysioReference = ${_SESSION['SESS_MEMBER_ID']}";

这很容易出现 SQL Injection ,而是使用 prepared statement :

$sql="SELECT * FROM IA
      WHERE IASubmitted= 'no' AND PhysioReference = ?";

/* Prepared statement, stage 1: prepare */
if (!($stmt = $mysqli->prepare("INSERT INTO test(id) VALUES (?)"))) {
     echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

/* Prepared statement, stage 2: bind and execute */
if (!$stmt->bind_param("i", $_SESSION['SESS_MEMBER_ID'] )) {
    echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}

if (!$stmt->execute()) {
    echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}

关于php - 标准使用 session ID 显示相关信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22756996/

相关文章:

php - 将属性添加到关联类 ManyToMany

mysql - 在迁移或 Eloquent 模型中设置默认值?

mysql - 如何在 Windows 上运行 mysql_upgrade

mysql - 错误 1005 (HY000) : Can't create table "x" (errno: -1)

php - 为什么要实现两个已经相互扩展的接口(interface)?

php - 在codeigniter中将密码保存到数据库

php - 拉维尔 4 : Class 'MongoClient' Not Found

javascript - 将字符串拆分为两个变量 - 未定义不是一个函数

php - 如何查找日期是否适合 PHP 或 MySQL 中的间隔?

php - MySQL JOIN 与 PHP foreach 循环