我试图从表’帐户’查询一行.我很讨厌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']";
最佳答案 从你的问题:
how can i print the data?
首先,您需要在代码中添加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;
现在您可以根据需要使用.请注意,我正在从会话中删除密码字段我认为它不需要.
边注:
我不知道为什么将程序和面向对象的风格混合在一起.