Stránka 1 z 1
php
Napsal: pát 24. kvě 2013, 21:38
od acerr
ahoj,
jak udělám abych mohl vyhledávat v databázi i slova ? - tedy znaky získané z formuláře ... ? - když zadám čísla v databázi se vše najde jak má, když dám písmena, nejde to? jak na to? Jde mi o tvorbu loginu ...
Re: php
Napsal: pát 24. kvě 2013, 21:53
od Exp
DB vyhledává jakejkoliv znak, samozřejmě se neomezuje jen na čísla, to by byla jaksi k ničemu. Ukaž jak vypadá DB dotaz a co je uložený v DB, že to nenajde.
Re: php
Napsal: pát 24. kvě 2013, 22:05
od acerr
v db jsou 2sloupce typu varchar ...
příkaz byl:
$return = mysql_query("select * from elogin where admin =".$nick) ;
v proměnné bylo uloženo: $nick = $_POST["nick"]; - konrkténě acerr ... vždy mi db napíše že tyto údaje tam nejsou čas tam jsou - když to hledám pod 3sloupcem typu int tak to vždy najdu ....
Re: php
Napsal: pát 24. kvě 2013, 22:16
od Exp
Napiš ten dotaz normálně v (např.) phpmyadminovi a pokud ti to nevrátí správnej řádek, je ten dotaz blbě.
Napiš toho kódu víc, používáš po mysql_query třeba mysql_fetch_array nebo něco jinýho? (mysql_num_rows atp.). Samotný mysql_query ti z DB nic nevytáhne.
Re: php
Napsal: pát 24. kvě 2013, 22:25
od acerr
tady je celý code ...
Kód: Vybrat vše
<?
$nick = $_POST["nick"];
$password =$_POST["password"] ;
mysql_connect("localhost", "*****", "*****");
mysql_select_db(elogin);
$return = mysql_query("select * from elogin where admin =".$nick) ;
$zaznam = mysql_fetch_array($return)
or die ("nefunguje ".mysql_error());
echo "nick: ".$zaznam["nick"]."<br>";
echo "heslo: ".$zaznam["password"]."<br>";
?>
Re: php
Napsal: pát 24. kvě 2013, 22:41
od Exp
Zkusil si ten dotaz přímo na db? Pokud ti nepude přímo, těžko bude fungovat z php.
Re: php
Napsal: pát 24. kvě 2013, 23:05
od acerr
A jak to mam zkusit v myphpadminovi? Formuluj prosim ten prikaz ...
Re: php
Napsal: sob 25. kvě 2013, 00:03
od 1Pupik1989
Sám píšeš, že chceš vyhledávat slovo. Slovo je datového typu string.
Čili:
Nikoliv:
Takže ne:
Kód: Vybrat vše
$return = mysql_query("select * from elogin where admin =".$nick) ;
Ale:
Kód: Vybrat vše
$return = mysql_query("select * from elogin where admin = '".$nick."'") ;
Respektive:
Kód: Vybrat vše
$return = mysql_query("SELECT * FROM `elogin` WHERE admin = '".mysql_real_escape_string($nick)."'";
Pokud je to přihlašování, tak doporučuji použít na heslo nějakou hashovací funkci.
A doporučuji přejít na MySQLi. MySQL bude odstraněno z PHP kvůli licenci.
Re: php
Napsal: sob 25. kvě 2013, 09:08
od acerr
V nastavení databáze ale není string ... co s tím?
Re: php
Napsal: sob 25. kvě 2013, 10:30
od Exp
počkej ty jako ukládáš varchar do sloupce typu int? Možná by sis měl něco přečíst...
Re: php
Napsal: sob 25. kvě 2013, 10:30
od OndraSter
varchar (255 max), longtext, ..
Re: php
Napsal: sob 25. kvě 2013, 10:47
od 1Pupik1989
Char,Varchar,Tinytext,text,mediumtext,longtext,binary,varbinary,tinyblob,mediumblob,blob,longblob,enum,set.
Všechno je to string.