我正在尝试从表'account'查询一行。我很讨厌MYSQLI所以我需要一些建议。我怎么能这样做?
$link = mysqli_connect("localhost","root","","database") or die("Error " . mysqli_error($link));
$query = "SELECT * FROM account WHERE username='".$user."' AND password='".$passcode."' LIMIT 1";
$result = $link->query($query) or die("Error " . mysqli_error($link));
$numrow = $result->num_rows;
$res = $result->fetch_assoc();
在查询之后我想将数据复制到会话中,我这样做:
session_start();
$tableau = array($res['cod_acc'],$res['username'],$res['password']);
$_SESSION['tableau'] = $tableau;
在这些之后,我如何打印数据?
$tableau = $_SESSION['tableau'];
echo "$tableau['username']";
答案 0 :(得分:2)
来自您的问题:
如何打印数据?
首先,您需要在代码中添加error_reporting()
:
error_reporting(E_ALL);
您要在$_SESSION
的数组中保存值:
$tableau = array($res['cod_acc'],$res['username'],$res['password']);
$_SESSION['tableau'] = $tableau;
如果查看会话数组,则不是关联数组。
所以你无法得到如下结果:
$tableau = $_SESSION['tableau'];
echo $tableau['username'];
<强>解决方案:强>
您可以从会话数组中获取用户名:
echo $tableau[1]; // username on second index.
解决方案2:
如果你想要关联索引而不是你需要使用关联数组:
$tableau = array(
"cod_acc"=>$res['cod_acc'],
"username"=>$res['username']);
$_SESSION['tableau'] = $tableau;
现在您可以根据需要使用。请注意,我正在从会话中删除密码字段,我认为它不需要。
旁注:
我不知道为什么要将程序性和面向对象的风格混合在一起。
答案 1 :(得分:0)
问题在于其他一些行代码,对不起该帖子。但是谢谢你们。