我目前正在使用 medoo.php 框架,虽然我通常会在 github 上使用他们的票务区域,但似乎没有人真正使用它......所以......无论如何,当我运行其中一个时我使用“require”调用框架的文件,我收到以下错误:
警告:不能在第 759 行的 /home/..../public_html/projects/friendcodes/medoo.min.php 中使用标量值作为数组
但是,当我检查代码时(下面是第 752 到 764 行),我发现它实际上应该检查 $where 是否未设置,如果未设置,则将其设为数组 - 但是这个 php 错误求不同。
我猜它$where
在其他地方被设置为变量,这不是一个数组,但在框架中有超过 100 次出现的变量和 830 行代码,你可能不想看到这些。(在评论中让我知道,我会添加它 - 再次,这直接来自 medoo 最近的两个更新/发布。)
public function get($table, $columns, $where = null)
{
if (!isset($where))
{
$where = array();
}
$where['LIMIT'] = 1;
$data = $this->select($table, $columns, $where);
return isset($data[0]) ? $data[0] : false;
}
我的主要问题是 - 我如何在不破坏这个框架中极其复杂的东西的情况下纠正这个问题(无论如何,就我的水平而言)
更新:我真傻!我发现了问题。正如人们所建议的那样,我调用 $where 错误。我打电话给它:
$accountinfo = $database->get('xf_user_field_value', ['field_value'], 1);
代替
$accountinfo = $database->get('xf_user_field_value', ['field_value'], ["user_id"=>1]);
(第三个 arg 是 $where)感谢各位的帮助!