У меня есть следующий скрипт, который не работает, так как я ожидаю, что он будет работать:
$DBH = new PDO( "mysql:host=localhost;dbname=database_name", "user", "pass" );
$DBH -> setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$STH = $DBH -> prepare( "select count( users_id ) from table1 where username = :username" );
$STH -> bindParam( ':username', $_POST['username'], PDO::PARAM_STR, 100 );
$STH -> execute();
$strCount = $STH -> rowCount();
if( $strCount == 1 ) {
echo $strCount;
echo "user has already registered, do nothing";
} elseif ( $strCount == 0 ) {
echo $strCount;
echo "user has not registered, insert into db";
} else {
echo $strCount;
echo "something is wrong, should only ever be 0 or 1";
}
Всегда кажется, что я возвращаю 1 для $ strCount
В таблице 1 я просто1 строка, где имя пользователя username1.Если опубликованное значение - username1, то я ожидаю, что $ strCount будет равно 1, но по какой-то причине, если опубликованное значение равно username2, я все равно получаю $ strCount как 1.
Кто-нибудь знает, что я делаю неправильно