【发布时间】:2021-11-03 17:07:50
【问题描述】:
几个月前我开始学习和使用 PHP 和 MySQL,每天都学习一点,除了搜索很多,我有一个无法解决的问题。这很简单。我的代码运行良好,直到昨天,我不知道我做了什么。下面,这部分代码的简化是我的问题所在。
- 主要目标:
我需要在特定表 (tab_classe) 上进行搜索。我需要此查询仅在存在或不存在任何行的情况下返回,该行之前存储在变量 ($turma) 中的 turma 字段(列)中具有值。
// table: tab_classe (id(INT), aluno(VARCHAR), prof(VARCHAR), turma(VARCHAR))
$turma = "A28";
$str = "select * from tab_classe
where turma LIKE '$turma'
limit 1
";
$qry = mysqli_query($conn,$str);
if ($qry !== FALSE){
echo "There is a register!";
}else{
echo "No registers!";
}
我尝试了很多变体,最后一个以下:
if ($qry !== FALSE){
echo "There is a register!";
}else if ($qry !== TRUE{
echo "No registers!";
}
无论我在变量$turma 存储什么值,我的查询总是返回!== FALSE,我知道它返回有一行where turma LIKE '$turma',但即使存储和比较它也总是返回false不是现有值。
【问题讨论】:
-
阅读手册请php.net/manual/en/…
-
好的,谢谢。这正是我所需要的。
-
“但它总是返回 false” 并非总是如此。
!== TRUE不一定是假的 -
如果你刚刚开始学习 PHP,那么你应该学习 PDO 而不是 mysqli。 PDO 更容易,更适合初学者。从这里开始phpdelusions.net/pdo & websitebeaver.com/…
-
好的@Dharman,我会读一下,谢谢。我只是想知道为什么人们在没有反馈的情况下提出负面问题。