Je veux développer un court système d'URL, comme bitly, et j'ai un problème dans la base de données. Je ne peux pas faire la différence entre a et A dans la base de données.Le caractère a est le même que A dans la base de données MySQL
C'est ce que je l'ai enregistré dans la base de données:
1 aaaaaaa a a a a a a a aaaaaaa 1340802562
3 aaaaaab a a a a a a b aaaaaab 1340802562
5 aaaaaac a a a a a a c aaaaaac 1340802562
7 aaaaaad a a a a a a d aaaaaad 1340802562
A id 2, j'aurais dû aaaaaaB. Ce sont les propriétés de la structure de la table:
1 id bigint(20) UNSIGNED Nu None AUTO_INCREMENT Schimbare Aruncă More
2 combination varchar(8) utf8_general_ci Nu None Schimbare Aruncă More
3 a varchar(2) utf32_general_ci Nu None Schimbare Aruncă More
4 b varchar(2) utf8_general_ci Nu None Schimbare Aruncă More
5 c varchar(2) utf8_general_ci Nu None Schimbare Aruncă More
6 d varchar(2) utf8_general_ci Nu None Schimbare Aruncă More
7 e varchar(2) utf8_general_ci Nu None Schimbare Aruncă More
8 f varchar(2) utf8_general_ci Nu None Schimbare Aruncă More
9 g varchar(2) utf32_general_ci Nu None Schimbare Aruncă More
10 url varchar(255) utf8_general_ci Nu None Schimbare Aruncă More
11 time int(10) Nu None Schimbare Aruncă More
12 status int(10) Nu None Schimbare Aruncă More
Voici le code:
<?php
require_once('Controller.php');
class ShortLink extends Controller {
public $chars="aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPq1Qr2Rs3St4Tu5Uv6Vw7Wx8Xy9Yz0Z";
public function generate() {
$this->DBconnect();
echo $length = strlen($this->chars);
for($a=0;$a<$length;$a++) {
for($b=0;$b<$length;$b++) {
for($c=0;$c<$length;$c++) {
for($d=0;$d<$length;$d++) {
for($e=0;$e<$length;$e++) {
for($f=0;$f<$length;$f++) {
for($g=0;$g<$length;$g++) {
$combination = $this->chars[$a].$this->chars[$b].$this->chars[$c].$this->chars[$d].$this->chars[$e].$this->chars[$f].$this->chars[$g];
mysql_query("
INSERT INTO `short` (
`id`,
`combination`,
`a`,
`b`,
`c`,
`d`,
`e`,
`f`,
`g`,
`url`,
`time`,
`status`
)
VALUES (
NULL, '".($combination)."', '".($this->chars[$a])."', '".($this->chars[$b])."', '".($this->chars[$c])."', '".($this->chars[$d])."', '".($this->chars[$e])."', '".($this->chars[$f])."', '".($this->chars[$g])."', '".($combination)."', '".(time())."', '0');");
}
}
}
}
}
}
}
$this->DBdisconnect();
}
}
$ShortLink = new ShortLink();
$ShortLink->generate();
?>
dois-je utiliser utf8_bin? toute suggestion est la bienvenue –
Soit 'utf8_bin' ou' utf8_general_cs'. http://stackoverflow.com/questions/4879846/how-to-configure-mysql-to-be-case-sensitive –
manger avec les rois ... éclairés! – codingbiz