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?
(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;
}
}
?>
LIKE után nincs szóköz.
De pontosan mi nem működik? Mit ír ki?
...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%'");
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)
Másrészt pedig nem árt
mysql_real_escape_string($term);
mysql_real_escape_string($field);
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.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!