2012-08-15 134 views
0

我有一个问题给你。 我正在创建一个管理面板,这是我第一次,而且我有一些问题。PHP - 登录脚本无法正常工作

1.问题 我以这种方式使用mysqli_fetch_assoc():

$row_cnt = mysqli_fetch_assoc($result); 
     printf('Result set has %d rows.<br />', $row_cnt); 

    if ($row_cnt['COUNT(id)'] == 0) { 
     return false; 
    } else { 
     return true; 
    } 

我用这个,看看是否在数据库中有一些条目,就返回1次每次,力所能及的事我插在田野里。我认为如果数据库中没有条目,它必须返回0,我错了吗?


请耐心等待,这是我的第一个管理面板登录页面。

+0

你可以显示你用于用户ID检查的查询吗? – BugFinder 2012-08-15 10:34:48

+1

使用别名'SELECT COUNT(id)AS Counter FROM table_reg'。然后使用'if($ row_cnt ['Counter'] == 0)' – 2012-08-15 12:00:10

+0

试过但没有运气。如果我插入数据库中存在的用户名和密码,它将返回到登录页面。相反,如果我插入不在数据库中的用户名和密码,我会像往常一样重定向到登录页面,但我得到了这个我的个人调试消息:结果集有1行。 您的用户名或密码无效 – Mark 2012-08-15 12:10:22

回答

0

就采取快速浏览一下 -

mysql_real_escape_string需要通过连接的mysql_connect成立,你需要使用mysqli_real_escape ...功能 - http://php.net/manual/en/mysqli.real-escape-string.php

+0

噢谢谢。我用这种方式修改了声明,但不幸的是它不能解决我的问题: '$ username = mysqli_real_escape_string($ link,$ username); $ password = mysqli_real_escape_string($ link,$ password);' – Mark 2012-08-15 10:59:07

+0

好的,你有没有打开错误报告?把它放在脚本的顶部“error_reporting(-1);”并重新运行它。这将显示所有警告,错误和消息。 – Dan 2012-08-15 11:01:10

+0

我在那里添加了这行,重新启动了XAMPP,但是当我运行这个脚本时什么也没有发生。没有错误或警告 – Mark 2012-08-15 11:05:13

0

你不指定SQL是什么实际上使用,但假设它类似于

Select Count(*) from mytable where myvalue= 'Something' 

RowCount将始终为1,因为计数将始终返回。

+0

解决了错误是我的另一个文件:P – Mark 2012-08-19 18:45:08