J'ai une configuration de base de données avec des informations "client". J'ai un formulaire PHP pour rechercher les chaînes, le prénom (nom), le nom (nom) et le numéro de téléphone (téléphone). Pour une raison quelconque, je ne suis même pas en train d'afficher les aides que les fonctions fonctionnent? J'ai relu ce code encore et encore et n'arrive pas à comprendre où il me manque quelque chose.Requête de recherche de chaîne PHP/MySQL
<form name="search" method="post" action="<?=$PHP_SELF?>">
Seach for: <input type="text" name="find" /> in
<Select NAME="field">
<Option VALUE="fname">First Name</option>
<Option VALUE="lname">Last Name</option>
<Option VALUE="phone">Phone #</option>
</Select>
<input type="hidden" name="searching" value="yes" />
<input type="submit" name="search" value="Search" />
</form>
<?
//This is only displayed if they have submitted the form
if ($searching =="yes")
{
echo "<h2>Results</h2><p>";
//If they did not enter a search term we give them an error
if ($find == "")
{
echo "<p>You forgot to enter a search term";
exit;
}
// We preform a bit of filtering
$find = strtoupper($find);
$find = strip_tags($find);
$find = trim ($find);
//Now we search for our search term, in the field the user specified
$data = mysql_query("SELECT * FROM customer WHERE upper($field) LIKE'%$find%'");
//And we display the results
while($result = mysql_fetch_array($data))
{
echo $result['fname'];
echo " ";
echo $result['lname'];
echo "<br>";
echo $result['phone'];
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> " .$find;
}
?>
Qui a écrit ce code? –
S'il vous plaît, faites-vous plaisir, et arrêtez d'utiliser l'extension 'mysql_ *'. C'est déprécié. Utilisez PDO ou 'mysqli_ *', qui supportent le moyen le plus sûr: les instructions préparées. Votre code est largement ouvert aux attaques par injection. Mais j'ai le soupçon sournois que ce n'est qu'un des nombreux problèmes avec ce code. Je peux me tromper, bien que –
Est-ce que PDO nécessite un plugin? Je suis un peu familier avec mysqli, semble assez solide. @ Ofir c'est sur le site php.about.com comme une simple recherche PHP. – smada