我有表用户,如:
user
=======
username
password
var
登录后,我想使用这样的用户名会话打印变量var
,但还没有取得任何成功。
<?php
if(empty($_SESSION)){
header("Location: logout.php");
}
$username=$_SESSION['username'];
$link = mysql_connect("localhost", "root", "");
mysql_select_db("vhts", $link);
$var = mysql_query("SELECT var FROM user where username='$username'", $link);
echo $var;
?>
如何纠正?
答案 0 :(得分:2)
mysql_query()返回布尔值或resource。当返回值是资源时,可以通过调用mysql_fetch_assoc()之类的函数来获取值。
$result = mysql_query("SELECT var FROM user where username='$username'", $link);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$var = $row['var'];
echo $var;
?>
警告
此扩展在PHP 5.5.0中已弃用,并已在PHP 7.0.0中删除。相反,应使用MySQLi或PDO_MySQL扩展名。有关详细信息,另请参阅MySQL: choosing an API指南和related FAQ。该功能的替代方案包括:
(来源:http://php.net/mysql_fetch_assoc)
因此,您应该考虑使用mysqli_query(),mysqli_fetch_array()等
答案 1 :(得分:0)
"SELECT var FROM user where username='$username'"
应该工作..,var可能在
$var['var']
并且不要忘记添加获取功能
$var = mysql_fetch_assoc($var); // highly recommended to use mysqli / PDO