Kezdőoldal » Számítástechnika » Weblapkészítés » Hogyan tudom elérni azt, hogy...

Hogyan tudom elérni azt, hogy a weblapomra készített kereső egy adott adatbázis tábla (urlap) minden mezőjében keressen (egy, ketto, harom, negy)?

Figyelt kérdés

<?PHP

##############################

$_MYSQL['HOST'] = "localhost"; // MySQL host

$_MYSQL['USER'] = "root"; // MySQL felhasználónév

$_MYSQL['PASSWORD'] = ""; // MySQL jelszó

$_MYSQL['DB'] = "csaladfa"; // MySQL adatbázis


$_CONF['TABLA'] = "urlap"; // Amelyik táblában akarunk keresni

$_CONF['MEZO1'] = "egy"; // Az az egy bizonyos mezõ, amelyben keresünk

$_CONF['MEZO2'] = "ketto";

##############################


mysql_connect( $_MYSQL['HOST'], $_MYSQL['USER'], $_MYSQL['PASSWORD'] );

mysql_select_db( $_MYSQL['DB'] );


if(!IsSet($_REQUEST['search_text']) || empty($_REQUEST['search_text'])) {

print'

<form method="GET" action="admin/search.php">

<input type="text" name="search_text" size="25">

<input type="Submit" value="Keresés">

</form>';

} else {

$search_text = mysql_real_escape_string($_REQUEST['search_text']);


$eredmeny = mysql_query("SELECT * FROM ".$_CONF['TABLA']." WHERE ".$_CONF['MEZO1']." LIKE '%$search_text%'");


while($sor = mysql_fetch_object($eredmeny))

{


$id = $sor->id;

$egy = $sor->egy;

$url = $sor->url;



echo "<p> Adatbázis sora: ".$id." <a href=$url>".$egy."</a><hr></p>";


}


}



?>



2016. márc. 22. 14:20
 1/7 Pelenkásfiú ***** válasza:
WHERE `mezo1` LIKE '%kifejezes%' OR `mezo2` LIKE '%kifejezes%' OR `mezo3` LIKE '%kifejezes%'
2016. márc. 22. 15:47
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
Szuper, köszönöm... ez segített :)
2016. márc. 22. 19:17
 3/7 Pelenkásfiú ***** válasza:
100%

Ha majd komolyabban foglalkozol vele, akkor nézz utána a mysqli-nek (az "i" direkt van a végén), esetleg a PDO-nak.

Ezek a mysql-es függvények már nagyon elavultak.

2016. márc. 22. 19:59
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
Köszi a tippet, épp most botlottam bele a figyelmeztető üzenetbe. Esetleg tudnál abban segíteni, hogy a fenti kódot hogyan írjam át mysqli technikával??? Nagyra értékelném
2016. márc. 22. 21:28
 5/7 Pelenkásfiú ***** válasza:

Ha nem baj, hogy angol, akkor ez részletesen elmagyarázza:

[link]


A lényeg itt van: "Prepared Statements"

$statment = $db->prepare("SELECT `name` FROM `users` WHERE `username` = ?");

$statement->bind_param('s', $name);


A query-ben csak jelölöd, hogy hová kerülnek a változók, utána pedig a "bind_param"-(ok)nál megadtot a típust és egy változót és a PHP elvégzi helyetted a szükséges módosításokat (escape, idézőjelek, stb.).

Egyszerűbb, átláthatóbb, biztonságosabb.

2016. márc. 23. 10:34
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:
Köszönöm szépen! Hatalmas segítség, amiket ide írtál
2016. márc. 23. 12:34
 7/7 anonim ***** válasza:
Én egy kicsit így mínusznak tartom hogy mindenhol keressen, így meglehet hackelni hogy usereket is és minden emailt is kikeressen :)
2017. ápr. 3. 11:27
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!