false, 'error' => '認証に失敗しました。(AUTH_INVALID)']); exit; } // データベースに接続 try { $option = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_MULTI_STATEMENTS => false ); $pdo = new PDO('mysql:charset=utf8mb4;dbname=' . DB_NAME . ';host=' . DB_HOST, DB_USER, DB_PASS, $option); } catch (PDOException $e) { // 接続エラーのときエラー内容を取得する $error_message[] = $e->getMessage(); } if (!empty($pdo)) { // カンマ区切りまたは1つのユーザーID文字列を処理 $usernames = array_unique(array_filter(explode(',', $get_account))); $results = []; if (count($usernames) > 0) { // プレースホルダを作成 $placeholders = implode(',', array_fill(0, count($usernames), '?')); $stmt = $pdo->prepare("SELECT userid, username FROM account WHERE userid IN ($placeholders)"); $stmt->execute($usernames); $fetched = []; while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $fetched[$row['userid']] = [ 'userid' => $row['userid'], 'username' => $row['username'] ]; } foreach ($usernames as $name) { if (isset($fetched[$name])) { $results[$name] = $fetched[$name]; } else { $results[$name] = null; } } } echo json_encode([ "success" => true, "users" => $results ], JSON_UNESCAPED_UNICODE); } else { echo json_encode([ "success" => false, "users" => null ], JSON_UNESCAPED_UNICODE); } }else{ $item = array( "success" => false, "userid" => null, "username" => null, ); echo json_encode($item, JSON_UNESCAPED_UNICODE); } ?>