MySQL查询在工作台中工作,但无法通过PHP接口工作
我有一个MySQL查询,我知道它正在Workbench/Sequel Pro中工作,在我的PHP代码中返回空:MySQL查询在工作台中工作,但无法通过PHP接口工作,php,mysql,Php,Mysql,我有一个MySQL查询,我知道它正在Workbench/Sequel Pro中工作,在我的PHP代码中返回空: $SQL = "SELECT * FROM staff, invigilation, exam, occupation, room, module WHERE staffID='$inputID' AND invigilation.examID=exam.exam_ID AND exam.exam_ID=occup
$SQL = "SELECT * FROM staff, invigilation, exam, occupation, room, module
WHERE staffID='$inputID'
AND invigilation.examID=exam.exam_ID
AND exam.exam_ID=occupation.examID
AND room.room_ID=occupation.roomID
AND exam.module_ID=module.module_ID
AND staff.password='$inputPassword'";
$result = mysql_query($SQL);
if($db_field = mysql_fetch_assoc($result)) {
echo "
<table border='1'>
<tr>
<th>Exam ID</th>
<th>Module ID</th>
<th>Module name</th>
<th>Duration</th>
<th>Start time</th>
<th>Room</th>
</tr>";
while ($db_field = mysql_fetch_assoc($result)) {
echo "
<tr>
";
echo "<td>" . $db_field['exam_ID'] . "</td>";
echo "<td>" . $db_field['module_ID'] . "</td>";
echo "<td>" . $db_field['module_name'] . "</td>";
echo "<td>" . $db_field['duration'] . "</td>";
echo "<td>" . $db_field['start_datetime'] . "</td>";
echo "<td>" . $db_field['room_name'] . "</td>";
echo "
</tr>";
}
} else {
echo "Incorrect login details. Please try again";
die();
}
$SQL=“从员工、监考、考试、职业、房间、模块中选择*
其中staffID='$inputID'
还有监考。examID=exam.exam\u ID
和exam.exam\u ID=accountry.examID
和room.room\u ID=职业.roomID
和exam.module\u ID=module.module\u ID
密码=“$inputPassword”;
$result=mysql\u查询($SQL);
如果($db\u field=mysql\u fetch\u assoc($result)){
回声“
考试ID
模块ID
模块名
期间
开始时间
房间
";
而($db\u field=mysql\u fetch\u assoc($result)){
回声“
";
回显“$db_字段['exam_ID']”;
回显“$db_字段['module_ID']”;
回显“$db_字段['module_name']”;
回显“$db_字段['duration']”;
回显“$db_字段['start_datetime']”;
echo“$db_字段[“房间名称]”;
回声“
";
}
}否则{
echo“登录详细信息不正确,请重试”;
模具();
}
此代码的结果是显示第一个表行(考试ID、模块ID等),但不显示表内容
我搞不懂为什么会发生这种事。除了SQL查询之外,代码与其他地方使用的代码相同(在其他地方工作正常)。您正在执行两次
mysql\u fetch\u assoc
。第一次读取记录并打印表头时。第二次没有更多记录,因此它不会打印一行
改变
if($db_field = mysql_fetch_assoc($result)) {
到
您正在执行两次mysql\u fetch\u assoc。第一次读取记录并打印表头时。第二次没有更多记录,因此它不会打印一行 改变
if($db_field = mysql_fetch_assoc($result)) {
到
您正在执行两次mysql\u fetch\u assoc。第一次读取记录并打印表头时。第二次没有更多记录,因此它不会打印一行 改变
if($db_field = mysql_fetch_assoc($result)) {
到
您正在执行两次mysql\u fetch\u assoc。第一次读取记录并打印表头时。第二次没有更多记录,因此它不会打印一行 改变
if($db_field = mysql_fetch_assoc($result)) {
到
试试这个。您正在使用
mysql\u fetch\u assoc($result)代码>两次,第一次得到结果,第二次没有结果
$SQL = "SELECT * FROM staff, invigilation, exam, occupation, room, module
WHERE staffID='$inputID'
AND invigilation.examID=exam.exam_ID
AND exam.exam_ID=occupation.examID
AND room.room_ID=occupation.roomID
AND exam.module_ID=module.module_ID
AND staff.password='$inputPassword'";
$result = mysql_query($SQL);
$db_field = mysql_fetch_assoc($result)
if($db_field != "" ) {
echo "
<table border='1'>
<tr>
<th>Exam ID</th>
<th>Module ID</th>
<th>Module name</th>
<th>Duration</th>
<th>Start time</th>
<th>Room</th>
</tr>";
while ($db_field) {
echo "
<tr>
";
echo "<td>" . $db_field['exam_ID'] . "</td>";
echo "<td>" . $db_field['module_ID'] . "</td>";
echo "<td>" . $db_field['module_name'] . "</td>";
echo "<td>" . $db_field['duration'] . "</td>";
echo "<td>" . $db_field['start_datetime'] . "</td>";
echo "<td>" . $db_field['room_name'] . "</td>";
echo "
</tr>";
}
} else {
echo "Incorrect login details. Please try again";
die();
}
$SQL=“从员工、监考、考试、职业、房间、模块中选择*
其中staffID='$inputID'
还有监考。examID=exam.exam\u ID
和exam.exam\u ID=accountry.examID
和room.room\u ID=职业.roomID
和exam.module\u ID=module.module\u ID
密码=“$inputPassword”;
$result=mysql\u查询($SQL);
$db\u field=mysql\u fetch\u assoc($result)
如果($db_字段!=“”){
回声“
考试ID
模块ID
模块名
期间
开始时间
房间
";
while($db_字段){
回声“
";
回显“$db_字段['exam_ID']”;
回显“$db_字段['module_ID']”;
回显“$db_字段['module_name']”;
回显“$db_字段['duration']”;
回显“$db_字段['start_datetime']”;
echo“$db_字段[“房间名称]”;
回声“
";
}
}否则{
echo“登录详细信息不正确,请重试”;
模具();
}
试试这个。您正在使用mysql\u fetch\u assoc($result)代码>两次,第一次得到结果,第二次没有结果
$SQL = "SELECT * FROM staff, invigilation, exam, occupation, room, module
WHERE staffID='$inputID'
AND invigilation.examID=exam.exam_ID
AND exam.exam_ID=occupation.examID
AND room.room_ID=occupation.roomID
AND exam.module_ID=module.module_ID
AND staff.password='$inputPassword'";
$result = mysql_query($SQL);
$db_field = mysql_fetch_assoc($result)
if($db_field != "" ) {
echo "
<table border='1'>
<tr>
<th>Exam ID</th>
<th>Module ID</th>
<th>Module name</th>
<th>Duration</th>
<th>Start time</th>
<th>Room</th>
</tr>";
while ($db_field) {
echo "
<tr>
";
echo "<td>" . $db_field['exam_ID'] . "</td>";
echo "<td>" . $db_field['module_ID'] . "</td>";
echo "<td>" . $db_field['module_name'] . "</td>";
echo "<td>" . $db_field['duration'] . "</td>";
echo "<td>" . $db_field['start_datetime'] . "</td>";
echo "<td>" . $db_field['room_name'] . "</td>";
echo "
</tr>";
}
} else {
echo "Incorrect login details. Please try again";
die();
}
$SQL=“从员工、监考、考试、职业、房间、模块中选择*
其中staffID='$inputID'
还有监考。examID=exam.exam\u ID
和exam.exam\u ID=accountry.examID
和room.room\u ID=职业.roomID
和exam.module\u ID=module.module\u ID
密码=“$inputPassword”;
$result=mysql\u查询($SQL);
$db\u field=mysql\u fetch\u assoc($result)
如果($db_字段!=“”){
回声“
考试ID
模块ID
模块名
期间
开始时间
房间
";
while($db_字段){
回声“
";
回显“$db_字段['exam_ID']”;
回显“$db_字段['module_ID']”;
回显“$db_字段['module_name']”;
回显“$db_字段['duration']”;
回显“$db_字段['start_datetime']”;
echo“$db_字段[“房间名称]”;
回声“
";
}
}否则{