BDD,+PHP avec easyphp

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : BDD,+PHP avec easyphp

par zeus » 11 mai 2005, 10:34

Ca peut venir du fait que ta requête SQL n'est pas valide

Essaye de l'afficher dans ta page et de l'exécuter depuis PHPMyAdmin (Si tu as EasyPHP)

par Invité » 11 mai 2005, 09:02

Dernière petite précision sur searchtype et searchterm: ces deux éléments sont envoyés par une page contenant le code suivant:

<u><b>RECHERCHE D'UN SITE</u></b><br><br>

<form action="resultat.php" method="post">
Sélectionnez votre critère de recherche de site:<br>
<select name="searchtype">
<option value ="nom_site">Nom du site
<option value ="adresse">Fond cartographique
<option value ="synthese">Synthèse
</select>
<br>
Saisissez les pécisions sur le critère choisi:<br>
<input name="searchterm" type=text>
<br>

<input type=submit value="Rechercher">
</form>


Au moins vous avez devant vous tous mes ennuis là! lol
Merci d'avance pour votre aide!

++

par Invité » 11 mai 2005, 08:55

Merci pour vos réponses...
En effet mon pb de connexion est résolu. Malheuresement, j'ai maintenant un pb sur l'accès à la bdd et l'extraction de résultats des requêtes...
Voici mon code et l'erreur retournée:
<?
trim($searchterm);
if(!$searchtype || !$searchterm)
{
echo "vous n'avez pas entré les détails de la recherche. Veuillez revenir à la page précédente pour les saisir à nouveau";
exit;
}

$searchtype = addslashes($searchtype);
$searchterm = addslashes($searchterm);

mysql_connect("localhost","root","") or die('Erreur de connexion à la base de données');

mysql_select_db("phpbb") or die ('Base inexistante');
$query = "select * from sites where ".$searchtype." like '%".$searchterm."%'";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);

echo "<p>Nombre de sites trouvés: ".$num_results."</p>";

for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_array($result);
echo "<p><strong>".($i+1).". Nom site: ";
echo htmlspecialchars (stripslashes($row["nom_site"]));
echo "</strong><br>adresse: ";
echo htmlspecialchars (stripslashes($row["adresse"]));
echo "<br>Synthèse: ";
echo htmlspecialchars (stripslashes($row["synthese"]));
echo "</p>";
}
?>

Parse error: parse error in h:\program files\easyphp1-8\www\resultat.php on line 49

Pour info, la ligne 49 correspond à la ligne $num_results = mysql_num_rows($result);

Voilà...si qqun pourrait m'éclairer ca serait vraiment génial! :cry:
Merci en tous cas pour l'aide sur la connection qui s'est révélée très efficace.

++

par zeus » 09 mai 2005, 17:11

Mais de rien !!!

Tu as commencé le travail, je l'ai fini ... c'est du travail d'équipe !!!

Mais pour tout t'avouer, j'avais lu ton post mais pas le commentaire et j'avais pas vu que tu avais déjç déconseillé mysql_pconnect()

par seayoung » 09 mai 2005, 17:04

Merci zeus pour cette précision ou du moins ces précisions
que j avais oublier de préciser

par zeus » 09 mai 2005, 16:59

Fait bien attention, mysql_pconnect() crée une connection persistante, c'est à dire qui ne se termine pas à la fin de ton script. Tu doit donc bien penser à fermer (mysql_close()) tes connections à la fin de chaque script PHP sinon, tu rique de blinder ton serveur de connections en attente !!!

Sinon, donne nous ton code qu'on puisse jeter un coup d'oeil

par seayoung » 09 mai 2005, 16:51

je pense que ce qu il faut faire c'est :
mysql_connect("localhost", "user", "pw");
// plutot que mysql_pconnect("localhost", "user", "pw");

BDD,+PHP avec easyphp

par Invité » 09 mai 2005, 16:27

Bonjour a tous,

J'aurai voulu savoir si il y a qq chose de spécial à faire pour accéder à une bdd (créée en mysql sous easyphp) à partir d'une requête php.
En fait j'ai fait un script de recherche en php et le problème c'est que le résultat de ma recherche est toujours null.
je pense bien me connecter à la bdd en faisant
@ $db = mysql_pconnect("localhost","root","");
puis
mysql_select_db("sites");

Si jamais il y a qq chose de spécial a faire que j'ai oublié, dites le moi svp...je vous en serai très reconnaissant :cry: Merci bocou

++