我是PDO的新手,所以如果我在这里犯了一个简单的错误,我会道歉。如果之前已经回答了这个问题。我搜索但无法找到。我的问题是,当我打印会话时,它打印出'数组([user_id] => 1)'但我输入的用户名和密码是针对user_id 2.我尝试使用不同的用户名和密码,但它仍然给出了id值1.所以我在会话创建之前回显了$ user_id,它是1.但是我无法弄清楚它从哪里获得?因为数据库中没有id为1。任何人都可以对此有所了解吗?
以下是我的登录文件中的代码:
#
答案 0 :(得分:1)
$stmt_id->execute();
成功时返回true,失败时返回false,需要使用查询结果(而不是执行状态):
$stmt_id->fetchAll()
此处您还有一个错误,您需要使用比较而不是分配:
if ($password_verified = true)
答案 1 :(得分:0)
library(data.table)
DT <- setDT(mget(paste('v', seq(10, 100, by=10), sep="_")))
for(j in seq_along(DT)){
set(DT, i=NULL, j= j, value= DT[[j]]*v_mult)
}
将返回$stmt_id->execute()
,在您的情况下会bool
,然后转换为true
。
请参阅http://php.net/manual/en/pdostatement.execute.php
您需要int
数据才能检索fetch
。
答案 2 :(得分:0)
该行
if ($password_verified = true) {
非常不正确,因为您基本上只是将true
分配给$password_verified
。你应该做一个if($password_verified)
,但我不确定它是否能解决你的问题。
您也没有解析结果,因为您应该使用fetchAll()
,然后浏览结果以查看用户是否存在。