/ / php mysql запит виберіть відповідне точне слово - php, mysql

php mysql query вибрати відповідь точне слово - php, mysql

Я хочу вибрати відповідне точне слово з таблиці, але у мене виникла проблема

якщо такий рядок: Angel і я вибрав * з таблиці, де row = "ангел", це успіх і перше

лист малий і в db його капітал,

$r = mysql_fetch_row(mysql_query("SELECT ID
FROM Login
WHERE Username = "angel"
And Password = "zxc""));
if($r[0])
die("success");
else
die("failed");

In mysql Table
Username : varchar(50) : Angel
Password varchar(50) : zxc

результати повинні бути підтверджені

бо його Ангел не ангел

тому будь-яке рішення для цього

Відповіді:

1 для відповіді № 1

Ви можете використовувати BINARY для того.

SELECT *  FROM `table` WHERE BINARY `row` = "angel"

Це призведе до відповідності регістру.


1 для відповіді № 2

Так, це пов’язано з зіставленням поля вашої таблиці. ви повинні встановити його для порівняння з великим регістром, як правило, суфіксом cs люблю latin1_swedish_cs


0 для відповіді № 3

Спробуйте, як

SELECT ID
FROM Login
WHERE Username = "angel" COLLATE utf8_bin;

0 для відповіді № 4

Спробуйте це,

$r = mysql_fetch_row(mysql_query("SELECT ID FROM Login WHERE
Password = "zxc" AND Username collate latin1_general_cs = "angel""));

Читайте Запит до бази даних з урахуванням регістру і Запит з урахуванням регістру MySQL


0 для відповіді № 5
mysql_query("
ALTER TABLE `Login`
CHANGE `Username` `Username` VARCHAR(250) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL
");

$r = mysql_fetch_row(mysql_query("SELECT ID FROM Login WHERE  Username = "angel" And Password = "zxc""));
if($r[0])
die("success");
else
die("failed");

Тепер він буде працювати.


0 для відповіді № 6

Спробуйте, як

SELECT ID
FROM Login
WHERE upper(Username) = upper("angel")