我需要你的脚本帮助。每当我包括
AND maintable.semester_name = '$semester_name'
在MySQL Query中,对于semester_name的两个值,它实际上都返回0
当处理echo $ nums时,只有一个应该具有值0。当我
除去
AND maintable.semester_name = '$semester_name'
查询给出了我期望的正常结果。
感谢。
$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 ;
表格结构
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)
答案 0 :(得分:1)
您的查询是正确的,但有点含糊不清。以下查询正如您正在执行的那样运行,但字数较少。
$query = "SELECT *
FROM maintable
WHERE matric_no = '$matric_no'
AND session = '$session'
AND semester_name = '$semester_name'
AND level = '$level'";
现在,关于问题,可能发生这种情况的唯一方法可能是由于没有记录与数据库中的记录匹配。
尝试使用echo $query
获取正在运行的查询,并直接从phpmyadmin运行查询,以查看您将获得多少结果集。
答案 1 :(得分:0)
查询是正确的。我猜你的条件确实与表中的任何行都不匹配。只需检查数据库中的值以及传入条件的内容。
答案 2 :(得分:0)
尝试此查询...它可以正常工作
$query = "SELECT *FROM maintable WHERE maintable.matric_no = '".$matric_no."'AND maintable.session = '".$session."' AND maintable.semester_name = '".$semester_name."' AND maintable.level = '".$level."' ";