无法将数据从mysql分配给会话数组

问题描述

| 我有一个检查登录页面和后续代码;
$sql = \"select * from users where username = \'$username\' and password = \'$password\'\";
$result = mysql_query($sql) or die ( mysql_error() );
if(mysql_num_rows($result)>0) 
{
    $line = mysql_fetch_assoc($result);
    $count++;
}
if ($count == 1) 
{
    $_SESSION[\'login\'] = \"true\";
    $_SESSION[\'username\'] = $username;
    $_SESSION[\'usertype\'] = $line[\'type\'];
}
而且$ _SESSION [\'usertype \']即使在数据库中不同,也始终为1,我在做什么错     

解决方法

我建议您在整个过程中进行一些调试。 在运行查询之前,请验证
$username
$password
是否符合您的期望:
echo \"Username: {$username} Password: {$password}<br/>\";
验证查询是否返回正确的值:
$line = mysql_fetch_assoc($result);
echo \"<pre>\";
var_dump($line);
echo \"</pre>\";
如果这两个测试都返回了预期值,那么您可能必须调查会话-它是否已正确启动?是否在某处重置?     ,$ line返回1,因为它是布尔值yes / no。找到一个结果,因此返回1。 您必须遍历$ line或直接使用$ line [0] [\'type \'];访问结果集#1; 或者只获取一行: 摘自手册:
**Example #1 Fetching one row with mysql_fetch_row()**
<?php
$result = mysql_query(\"SELECT id,email FROM people WHERE id = \'42\'\");
if (!$result) {
    echo \'Could not run query: \' . mysql_error();
    exit;
}
$row = mysql_fetch_row($result);

echo $row[0]; // 42
echo $row[1]; // the email value
?>
在这种情况下,如果您将选择更改为\“从用户中选择类型.... \”,而不是\“选择* \”
$line[0]
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...