php SQL count文でDBから取り出したデータを確認したいです
解決したいこと
SQLのSELECT文で対象のデータがない判断をcount文でやりたいのですが、どのようにやったら良いのか分からず色々な記事も読みましたが参考にできそうなものも私では見つけることができなかったので教えていただけると嬉しいです。
対象のソースコード
$dsn='mysql:dbname=db;host=localhost;charset=utf8';
$user='root';
$password='';
$dbh=new PDO($dsn,$user,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$sql="SELECT name,attribute,type,number FROM test_db
WHERE
name LIKE '%$test_name%'
AND
attribute LIKE '%$test_attribute%'
AND
type LIKE '%$test_type%'
AND
number LIKE '%$test_number%'";
$stmt=$dbh->prepare($sql);
$stmt->execute();
$dbh=null;
自分で試したこと
$check=$stmt->fetch(PDO::FETCH_ASSOC);
if($check==false){
print'検索したものはDBに存在しません。<br />';
echo '<a href="' . $_SERVER['HTTP_REFERER'] . '">戻る</a>';
exit();
}
$check=$stmt->fetch(PDO::FETCH_ASSOC);
if(empty($check)){
echo '検索したものはDBに存在しません。';
echo '<a href="' . $_SERVER['HTTP_REFERER'] . '">戻る</a>';
exit();
}
上記のようなコードは試してみましたが上手くいきませんでした。
countで値の有無を判断する方法が一番良いと記事で読んだのでそちらで実行してみようと思うのですが分からなかったので教えていただけると嬉しいです。
よろしくお願いします。
0