原代码正常
// Using Medoo namespace
use Medoo\Medoo;
$database = new Medoo([
'database_type' => 'mysql',
]);
$id = $database->get("date", "id", ["name" => $value]);
可以正常获得$id 的值
想弄简化下弄成自定义函数
改成如下代码
// Using Medoo namespace use Medoo\Medoo;
$database = new Medoo([ 'database_type' => 'mysql', ]);
function get_id(){ $id = $database->get("date", "id", ["name" => $value]); return $id; }
echo get_id();
执行提示
Fatal error: Uncaught Error: Call to a member function log() on null
请问哪里错误了呢?
1
AngryPanda 2019-07-18 22:08:37 +08:00 via Android 1
变量作用域问题。
函数内的$database 变量没有初始化 |
2
berumotto 2019-07-18 22:15:34 +08:00 via iPhone
多了个,
|
4
berumotto 2019-07-18 22:19:52 +08:00 via iPhone
如楼上所说的
|
5
peizhao2017 OP |
6
xlcoder166 2019-07-18 23:16:20 +08:00
$database = new Medoo([ 'database_type' => 'mysql', ]);
function get_id($database){ $id = $database->get("date", "id", ["name" => $value]); return $id; } echo get_id(); $database 要传进函数 |
7
xlcoder166 2019-07-18 23:17:24 +08:00
echo get_id($database);
这里也要加上 |
8
peizhao2017 OP 改成这样
把$database 设置成了全局参数 到是能出结果 有什么弊端吗? function get_id(){ global $database; $id = $database->get("date", "id", ["name" => $value]); return $id; } |
9
coder1 2019-07-19 00:59:43 +08:00 via iPhone
别的不说,你把 use Medoo\Medoo 给注释了
|
10
peizhao2017 OP |