有人可以登录。如果他登录,输入的密码(已解码)将与右侧密码进行比较(也已解码) 但是如果我做了
$sql = "SELECT PasswordDecode FROM Userinformations WHERE Username = ".$Username;
foreach ($pdo->query($sql) as $row) {
$PasswordDecode = $row["Password decode"];
}
这个错误来了:
警告:在......
中为foreach()提供的参数无效
我不明白。如果用户名是DumbUsername
,我就会
$sql = "SELECT PasswordDecode FROM Userinformations WHERE Username = DumbUsername";
没有错误发生且有效。但是,如果我在变量中写入用户名,它就无法正常工作。为什么呢?
请回答。
答案 0 :(得分:0)
更改您的查询,使用引号arround变量
select val
from t
order by
case when val like '%-%' then 1 else 2 end
,case when substr(val,1,instr(val,'-')-1) glob '*[0-9]*'
then cast(substr(val,1,instr(val,'-')-1) as integer)
when substr(val,1,instr(val,'-')-1) glob '*[a-zA-Z]*'
then substr(val,1,instr(val,'-')-1)
else val end
,case when val like '%-%' then cast(substr(val,instr(val,'-')+1) as integer)
else val end