BDD,+PHP avec easyphp

Invité
Invité n'ayant pas de compte PHPfrance

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

++

Eléphant du PHP | 357 Messages

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");


Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 357 Messages

09 mai 2005, 17:04

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

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()
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

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.

++

Invité
Invité n'ayant pas de compte PHPfrance

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!

++

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

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)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer