入力したユーザー名の一致をデータベースで検索し、その姓と名を表示する単純なフォームを作成しました。エラーの表示に問題があります。入力されたユーザー名がデータベースのユーザー名と一致しない場合は、nullまたは何も表示されていないはずです。 else文でnullをエコーしようとしましたが、エラーメッセージが表示されます。データベースに一致するデータがないときにエラーをエコーする
<?php
$db = new PDO('mysql:host=127.0.0.1;dbname=sample;charset=utf8', 'root', '');
if(isset($_POST['search'])) {
$search = $_POST['search'];
$query = $db->prepare("SELECT * FROM search WHERE username=:username");
$query->execute(['username' => $search]);
$row = $query->fetch(PDO::FETCH_OBJ);
if(count($row)) {
echo $row->firstname . ' ' . $row->lastname;
} else {
echo null;
}
}
'エコーします$ row-> firstnameのような何かを行う必要があります。 ''。 $ row-> lastname; 'は14行目ですか?あなたは 'フェッチ'を条件づけしようとしましたか? – chris85
どうすればいいですか? – JTrixx16
はすでに問題を修正しています... – JTrixx16