我有一个按课程名称搜索记录的功能:
<?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;],这是正确传递的。