【发布时间】:2014-01-19 14:44:22
【问题描述】:
我想知道如何从我的 MySQL 表中选择一个值。该表包括 username 和 id 列等(id 是自动递增的,username 是唯一的)。给定用户名,我想设置一个会话变量$_SESSION['myid'] 等于与给定用户名对应的id 列中的值。这是我已经尝试过的代码:
session_start();
$name = $_GET["username"];
$sql = "SELECT 'id' FROM Users WHERE username='$name'";
$result = mysql_query($sql);
$value = mysql_fetch_object($result);
$_SESSION['myid'] = $value;
到目前为止,我得到了:
可捕获的致命错误:stdClass 类的对象无法转换为字符串。
将$value 转换为字符串类型并不能解决问题。
【问题讨论】:
-
只是提醒... mysql 扩展已弃用,将来将被删除:改用 mysqli 或 PDO
-
这存在严重的安全问题。正如@WesC 指出的那样,不要使用 mysql_* 函数。此外,您很容易受到 SQL 注入攻击。
标签: php mysql sql database user-accounts