Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL查询在工作台中工作,但无法通过PHP接口工作_Php_Mysql - Fatal编程技术网

MySQL查询在工作台中工作,但无法通过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

我有一个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=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_字段[“房间名称]”;
回声“
";
} 
}否则{