Kezdőoldal » Számítástechnika » Weblapkészítés » Az alábbi php-ban nem ír...

Az alábbi php-ban nem ír eredményeket. A html működik, és ez is az értékek kiírásáig. Ha ebben nem is tud senki segíteni, valaki tud ilyen kereső tutorialt ajánlani, mert amiket a Google kidobott nem működtek?

Figyelt kérdés

(Nyilván az SQL adatokat direkt nem írtam be ide! )


if ($search=="yes")

{


echo "<h2>Results</h2><p>";


//If they did not enter a search term we give them an error

if ($field == "")

{

echo "<p>You forgot to enter a search term";

exit;

}


$dbhost = 'host';

$dbuser = 'user';

$dbpass = 'pass';

$conn = mysql_connect($dbhost, $dbuser, $dbpass);

if(! $conn )

{

die('Could not connect: ' . mysql_error());

}

mysql_select_db("db") or die(mysql_error());

$data = mysql_query("SELECT * FROM table WHERE '$term' LIKE'%$field%'");

if (!$data) {

die(mysql_error());

}

//And we display the results

while($result = mysql_fetch_array( $data ))

{

echo $result['name'];

echo " ";

echo $result['gender'];

echo "<br>";

echo $result['id_user'];

echo "<br>";

echo "<br>";


//This counts the number or results - and if there wasn't any it gives them a little message explaining that

$anymatches=mysql_num_rows($data);

if ($anymatches == 0)

{

echo "Sorry, but we can not find an entry to match your query<br><br>";

}


//And we remind them what they searched for

echo "<b>Searched For:</b> " .$field;

}

}

?>



2014. jún. 21. 15:02
 1/10 anonim ***** válasza:

LIKE után nincs szóköz.

De pontosan mi nem működik? Mit ír ki?

2014. jún. 21. 15:04
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
Egyébként ez a script nagyon nem biztonságos.
2014. jún. 21. 15:08
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:

...WHERE '$term' LIKE'%$field%'");


$term hol van?

a term (kifejezés) és a field(mező) változónevek fel vannak cserélve (mármint jól működne, de jelentésileg felcserélted)


próbáld így:

WHERE `$term` LIKE '%$field%'");

2014. jún. 21. 15:50
Hasznos számodra ez a válasz?
 4/10 A kérdező kommentje:
Semmit a "Result" felíraton keresztül, de megnézem cserében. a $term egy dropdown (név, születési év), a $field egy text input a search.html-ből. Azt tudom, hogy nem biztonságos, azt nem tudom, hogy hogy tehetem azzá (szívesen elfogadok tanácsokat, mert az összes oldalt így építettem fel!). A cél egyébként az lenne, hogy az adatbázisból a $field (beírt név, vagy születési év) és a $term (névre vagy évre keresünk), az adatbázisból kilistázza a találatokat. Tudom, hogy bénácska, de egy hete nyomom a dolgot, és eddig telt magamtól, és amit Google-ből meg tudtam érteni.
2014. jún. 21. 19:22
 5/10 anonim ***** válasza:

Próbáld úgy a query-t, ahogy a #3-as versenyző írta.

Ha ez műküdik, olvasgass SQL injection és PDO témakörben. (#1-es és #2-es voltam)

2014. jún. 21. 19:38
Hasznos számodra ez a válasz?
 6/10 A kérdező kommentje:
Oké! Köszönöm szépen a segítséget! Nagyon messzire jutottam egyedül, de ez már kifogott rajtam! :)
2014. jún. 21. 19:53
 7/10 anonim ***** válasza:

Másrészt pedig nem árt


mysql_real_escape_string($term);

mysql_real_escape_string($field);

2014. jún. 22. 00:34
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:
Közben utána olvastam ,bele fog kerülni ez is! .) köszönöm a segítségeteket!
2014. jún. 22. 19:58
 9/10 A kérdező kommentje:
Nah, előrébb jutottam, kiszedtem a szöveges mezőt, és radio buttonok, és legördülő listák vannak, viszont most, bár helyesen jeleníti meg az ékezetes betűket, ha "Magyarország" pl. a keresés összehasonlítási alapja, akkor nincs találat, de ha valamilyen ékezet nélküli dolog (pl. Budapest), akkor van találat. Nyilván az ékezetes betűket nem szereti, de hogy tudom ezt kiküszöbölni?
2014. jún. 26. 14:44
 10/10 A kérdező kommentje:

Közben megoldódott, kimaradt a

mysql_query("SET NAMES 'utf8'");

mysql_query("SET CHARACTER SET 'utf8'");

mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");

mysql_query("SET character_set_results = 'utf8'");

mysql_query("SET character_set_server = 'utf8'");

mysql_query("SET character_set_client = 'utf8'");


rész a kapcsolódás után.

2014. jún. 26. 14:46

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!