Я хочу вибрати відповідне точне слово з таблиці, але у мене виникла проблема
якщо такий рядок: 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")