trueDBでユーザーが見つかった場合、および見つからなかった場合に返される小さなWebサービスを設定falseしています。しかし、常に戻ってきfalseます。実際、echo何かをforeach返しても何も返されず、エコーする$dataと取得されますUndefined variable: data
IDで検索してみましたが大丈夫そうです
たとえば、 のルートでテストし、 を に/api/users/login/{id}変更するforeachとforeach($db->user()->select('username', 'pass')->where('id', $id) as $row) 、正しく実行されます。
$app->get('/api/users/login/{username}/{password}', function($request){
$username = $request -> getAttribute('username');
$password = $request -> getAttribute('pass');
$id = $request->getAttribute('id');
require_once('db/dbconnect.php');
foreach($db->user()->select('username', 'pass')->where('username', 'pass', $username, $password) as $row){
$data[] = $row;
}
if(isset($data)){
echo json_encode(true, JSON_UNESCAPED_UNICODE);
}else{
echo json_encode(false, JSON_UNESCAPED_UNICODE);
}
});
問題は、ルートから文字列をフェッチすることですか? もしそうなら、どうすれば修正できますか?