【发布时间】:2016-11-04 15:07:09
【问题描述】:
我一直在开发登录/注册系统,我已经在 MySQL 中进行了所有设置并完美运行,但我需要从 SQL SERVER 2008 运行它,所以我已经更改了连接,并且它的所有工作都与1 位,当用户单击电子邮件中的验证链接时,它不会验证用户,所以我认为某些语法不适用于 PHP7 和 SQL 服务器。
这是代码:
$stmt = $user->runQuery("SELECT userID,userStatus FROM tbl_users WHERE userID=:uID AND tokenCode=:code LIMIT 1");
$stmt->execute(array(":uID"=>$id,":code"=>$code));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() > 0){
some code...}
else{ error message...}
它跳过了 if 语句,只是给了我来自 else 的错误消息。
有什么我没有看到的明显错误吗?
在这一点上,任何帮助将不胜感激!
谢谢。
编辑:
如果有帮助,这是 IF 语句的代码...
if($row['userStatus']==$statusN)
{
$stmt = $user->runQuery("UPDATE po_users SET userStatus=:status WHERE userID=:uID");
$stmt->bindparam(":status",$statusY);
$stmt->bindparam(":uID",$id);
$stmt->execute();
$msg = "
<div class='alert alert-success'>
<button class='close' data-dismiss='alert'>×</button>
<strong>WoW !</strong> Your Account is Now Activated : <a href='index.php'>Login here</a>
</div>
";
}
else
{
$msg = "
<div class='alert alert-error'>
<button class='close' data-dismiss='alert'>×</button>
<strong>sorry !</strong> Your Account is allready Activated : <a href='index.php'>Login here</a>
</div>
";
}
【问题讨论】:
-
你显然看不到的是
rowCount的手册 -
SQL SERVER 没有
LIMIT,改用SELECT TOP -
既然你拿了,也许就
count($row)吧。 -
试过 SELECT TOP Vitalii,还是不行 :(
-
你能告诉我们你有什么 SQL 错误吗?
标签: php mysql sql sql-server