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:

Kód: Vybrat vše

$promenna = "nejaky ten text";
Nikoliv:

Kód: Vybrat vše

$promenna = nejaky ten text;
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.