我有包含下列的表..为什么我的数组存储在会话变量中双击?
我存储在会话变量表的数据
$sql = "SELECT * from `basic_info` where Username='".$user."' and Password='".$pass."'";
$sqlresult = mysqli_query($con,$sql) or die(mysqli_error($con));
$rowCount = mysqli_num_rows($sqlresult);
$currentData = mysqli_fetch_array($sqlresult);
if($rowCount > 0){
$_SESSION['currentUser'] = $currentData;
}
但每当我呼应数组的值使用以下代码:
<?php
echo "Welcome {$_SESSION['currentUser'][1]}";
echo "<div name='infoDisplay'>";
echo "<table>";
echo "<tr>";
echo "<td><b>Family Name</b><td>";
echo "<td><b>First Name</b><td>";
echo "<td><b>Middle Name</b><td>";
echo "<td><b>Birthday</b><td>";
echo "<td><b>Contact Number</b><td>";
echo "<td><b>Address</b><td>";
echo "<td><b>Username</b><td>";
echo "<td><b>Password</b><td>";
echo "<td><b>Permission Level</b><td>";
echo "<td></td>";
echo "</tr>";
echo "</table>";
echo "</div>";
echo "Array count: " . count($_SESSION['currentUser']) . "<br/>";
echo "<tr>";
for($rowcount=0; $rowcount<=count($_SESSION['currentUser']);$rowcount++){
echo "<td>". $_SESSION['currentUser'][$rowcount] . "</td>";
}
echo "</tr>";
?>
数组数加倍。我的数据库中只有9列,但结果是返回了18个计数。这就是为什么我也越来越以下错误:
请让我知道你对我怎么能轻易解决问题的投入。非常感谢您提前!祝你有美好的一天!
'$ _SESSION [ 'currentUser'] [] = $ CURRENTDATA;'可以有不止一个当前用户?这是你的实际代码吗?顶部和底部并不真正匹配。 –
至于你为什么得到双倍,这是因为你没有阅读[文档](http://php.net/manual/en/mysqli-result.fetch-array.php),它显示默认' mysqli_fetch_array'返回数字和字符串键,即0-n和列名。 –
@JonStirling我忘了编辑那部分。我已经纠正了这个部分。请忽略该行。谢谢! –