我目前正在使用medoo.php框架,儘管我通常會在github上使用它們的票據區域,但似乎沒有人真正使用它...所以... 無論如何,當我跑步時我的文件中的一個,它使用「規定」來調用框架,我得到以下錯誤:PHP錯誤:不能使用標量值作爲數組...然而
Warning: Cannot use a scalar value as an array in /home/..../public_html/projects/friendcodes/medoo.min.php on line 759
然而,當我檢查代碼(下面是第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;
}
我的主要問題是 - 如何糾正這個問題不打破東西在這個非常複雜的框架中(無論如何,我的水平)
更新:我多麼愚蠢!我發現了這個問題。就像人們所建議的那樣,我在錯誤的地方打電話給$。 我被稱之爲:
$accountinfo = $database->get('xf_user_field_value', ['field_value'], 1);
而不是
$accountinfo = $database->get('xf_user_field_value', ['field_value'], ["user_id"=>1]);
(其中第三個參數是$這裏)感謝您的幫助傢伙!
'if(is_array($ where))$ where ['LIMIT'] = 1;' –
如果您知道要重複該問題的頁面/函數,爲什麼不將$ where變量轉儲到獲得功能?然後在出錯之前你可以看到它的內容,並知道是什麼調用它,爲什麼? –
如何調用' - > get()'?更具體地說,第三個參數是什麼?您可以設置一個捕獲警告的錯誤處理程序,然後在不知道的情況下打印回溯。 –