PHP fetch()不返回MySQL中SELECT查询的结果

时间:2015-07-27 14:44:24

标签: php mysql

我有一个按课程名称搜索记录的功能:

<?php
function searchByCourse()
{
    if (isset($_POST["course_title"])) {
        //Copy to local var
        $course_title = $_POST["course_title"];
        $stmt         = self::$conn->prepare("SELECT student_id, student_name, course_title FROM student_info WHERE course_title = ?");
        $stmt->bind_param("s", $course_title);
        $result = $stmt->execute();
        if ($result === FALSE) {
            $stmt->close();
            return FALSE;
        } else {
            $results_array = array();
            $stmt->bind_result($student_id, $student_name, $course_title_found);
            while ($stmt->fetch()) {
                echo "Fetch! \n";
                $row                 = array();
                $row["student_id"]   = $student_id;
                $row["student_name"] = $student_name;
                $row["course_title"] = $course_title;
                $results_array[]     = $row;
            }
            $stmt->close();
            return $results_array;
        }
    } else {
        return FALSE;
    }
}
?>

代码似乎执行正常但是当我使用curl测试它时,course_title =计算它应该返回3个结果。但是,echo "Fetch!"永远不会显示。它似乎没有任何东西可供取回。它让我有点疯狂。我已经检查了数据库中的所有var名称,并且它们匹配得很好。我在这里做错了什么想法?

编辑:

此方法是我的类DbHandler的一部分。 $ conn是在function__contruct()中创建的受保护的静态MySqli连接对象。

这样叫:

$db = new DbHandler();
$db->searchByCourse();

我有其他数据库函数可以正常使用此设计模式。正确调用该函数。我还检查了$ _POST [&#34; course_title&#34;],这是正确传递的。

0 个答案:

没有答案