我开始研究PHP,遇到了这样的问题。 get_single_all函数可以正常工作,但get_single_by_id会产生:
致命错误:未捕获错误:调用未定义函数 get_single_by_id()在C:\ xampp \ htdocs \ urb \ content-single.php中: 3堆栈跟踪:#0 {main}放在C中:\ xampp \ htdocs \ urb \ 第三行上的content-single.php
我确实试图找到解决问题的方法,但对我自己一无所获。 这是我的代码和a screenshot of database
function get_singles_all() {
global $db;
$singles = $db->query("SELECT * FROM singles");
return $singles;
}
function get_single_by_id($id) {
global $db;
$singles = $db->query("SELECT * FROM singles WHERE id =$id");
foreach ($singles as $single) {
return $single;
}
}
<?php
$single = get_single_by_id($_GET['id']);
?>
谢谢!
答案 0 :(得分:0)
正如我在这里看到的那样,您正在尝试return
来自此行循环的结果:
foreach ($singles as $single) {
return $single;
}
那真是个坏主意。因此,我建议您直接返回$singles
变量,因为您正在通过id
来获取数据,因此SQL
语句将返回的ID的零或仅一个结果是ID中的主键您的数据库(希望您这样做!)。这是一个片段:
function get_single_by_id($id) {
global $db;
$singles = $db->query("SELECT * FROM singles WHERE id =$id");
return $singles;
}
PS:请注意php开头标记的位置,该位置必须刚好在函数声明的上方。
希望我进一步推动了你。