[英]AND condition not working in MySQL Query
Please i need your help with my script. 请我在我的脚本方面需要您的帮助。 Whenever i include
每当我包括
AND maintable.semester_name = '$semester_name'
in the MySQL Query, it returns 0 for both values of semester_name, when actually only one is supposed to have a value of 0 when echo $nums is processed. 在MySQL查询中,当处理echo $ nums时,实际上只有一个值为0时,它为semester_name的两个值都返回0。 When i remove
当我删除
AND maintable.semester_name = '$semester_name'
the query gives normal results as i expect. 该查询给出了我期望的正常结果。
Thanks. 谢谢。
$query = "SELECT *
FROM maintable
WHERE maintable.matric_no = '$matric_no'
AND maintable.session = '$session'
AND maintable.semester_name = '$semester_name'
AND maintable.level = '$level'";
$result = mysql_query($query);
$nums = mysql_numrows($result);
echo $nums ;
TABLE STRUCTURE 表结构
COURSES
course_id int(100)
course_code varchar(100)
course_title varchar(100)
course_unit int(10)
MAINTABLE
maintable_id int(255)
matric_no int(10)
session varchar(10)
semester_name varchar(10)
course_code varchar(10)
level int(10)
score int(10)
grade varchar(4)
RESULT_UPLOAD
upload_id int(10)
session varchar(10)
semester_name varchar(10)
course_code varchar(10)
level varchar(10)
SEMESTER
semester_id int(10)
semester_name varchar(10)
STUDENT
matric_no int(10)
first_name varchar(100)
last_name varchar(100)
other_name varchar(100)
level int(10)
USERS
users_id int(10)
title varchar(20)
first_name varchar(20)
last_name varchar(20)
username varchar(20)
password varchar(100)
register_date datetime
tmp_name varchar(100)
type varchar(20)
name varchar(20)
size int(10)
YEAR
level_id int(10)
level int(10)
Your query is correct, but with bit of ambiguity. 您的查询是正确的,但有点含糊。 The following query is run as exactly you are doing, but with less words.
以下查询将按照您正在执行的方式运行,但是用的单词更少。
$query = "SELECT *
FROM maintable
WHERE matric_no = '$matric_no'
AND session = '$session'
AND semester_name = '$semester_name'
AND level = '$level'";
Now, about your problem , the only way this might be happening may be due to no record is matching the records in your database. 现在,关于您的问题 ,可能发生这种情况的唯一方法可能是由于没有记录与数据库中的记录匹配。
Try to get the query you are running with echo $query
and run the query directly from phpmyadmin to see how many result set you will get. 尝试使用
echo $query
获取正在运行的echo $query
并直接从phpmyadmin运行查询以查看将获得多少结果集。
The query is correct. 该查询是正确的。 I guess your conditions really don't match any rows in the table.
我猜您的条件确实与表中的任何行都不匹配。 Just check what values you have in the database and what your are passing into the conditions.
只需检查数据库中具有哪些值以及将什么传递给条件即可。
试试这个查询...它的工作原理
$query = "SELECT *FROM maintable WHERE maintable.matric_no = '".$matric_no."'AND maintable.session = '".$session."' AND maintable.semester_name = '".$semester_name."' AND maintable.level = '".$level."' ";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.