ユーザーがユニークかどうか調べるコードで疑問が出てきたので質問させてください。
以下のSQL文で取り出した**$row['count']**はなぜ文字列になるのでしょうか?
'0'にしないとtrueにならないです。
【追記】
PHP
1// false 2$row['count'] === 0 3 4//true 5$row['count'] === '0'
そのあたりの仕様を詳しく知るにはどのようにgoogleで調べたらいいですか?
mysqlなのかpdoなのかphpなのかがわからないのです。よろしくお願いします。
PHP
1class User extends Base 2{ 3 4 public function isUnique($user_name) { 5 6 $sql = "SELECT COUNT(id) as count FROM user WHERE user_name = :user_name"; 7 $row = $this->fetch($sql, array(':user_name' => $user_name)); 8 if ($row['count'] === '0') { 9 return true; 10 } 11 12 return false; 13 } 14}
PHP
1abstract class Base 2{ 3 public function fetch($sql, $params = array()) 4 { 5 return $this->execute($sql, $params)->fetch(PDO::FETCH_ASSOC); 6 } 7}
回答1件
あなたの回答
tips
プレビュー