Créer une base de donnée

Fermé
nheavy Messages postés 42 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 16 mars 2012 - 4 sept. 2011 à 16:42
nheavy Messages postés 42 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 16 mars 2012 - 5 sept. 2011 à 18:48
Bonjour,

Via ce tuto : https://www.commentcamarche.net/contents/801-php-creer-un-moteur-de-recherche

Je souhaitais créer une base de donnée puis un moteur de recherche, le soucis c'est que je n'arrive pas à créer la base de donnée, j'ai créer un fichier search.php où j'ai mis :

<html>

<head>

<title>Creation de la table</title>

</head>

<body>

<?php
$host = "****";

$user = "*****";

$password = ""*****";";

$bdd = ""*****";";

mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");

// on choisit la bonne base
mysql_select_db($bdd) or die ("Connexion a la base impossible");

$query = "CREATE TABLE search (
   lien varchar(128) NOT NULL,
   keyword text,
   titre varchar(128),
   id INT(11),
   PRIMARY KEY (id)
)";

mysql_query($query) or die ("Erreur de modification de  la table");

// on ferme la base
mysql_close();

?>

<?php
echo "
<p>\n
<table BGCOLOR=\"#EFF2FB\" BORDER=\"0\"
							CELLSPACING=\"0\"
							CELLPADDING=\"1\"
							WIDTH=\"100%\">\n
<tr><td>\n
<a name=\"#index\"><h2>Indexation du site en cours</h2></a>\n
</td></tr>\n
</table>\n
<p>\n";

$host = "*****";

$bdd = "*****";

/* Connexion avec MySQL */
mysql_connect($host,$user,$password) or die ("Impossible de se connecter
au serveur de base de donnees");

mysql_select_db($bdd) or die ("Impossible d'accéder à la base $bdd");

$query = "DELETE FROM search";

mysql_query($query) or die ("Erreur de modification de la table");

function ScanDr($Directory){
$MyDirectory = opendir($Directory);

	while($Entry = readdir($MyDirectory)) {
		echo "<br>entry= $Entry<br>";

		echo "repertoire= $Directory<br>";

		echo "chemin= $Directory/$Entry<br>";

		if(is_dir($Entry)&& $Entry != "." && $Entry != "..") {
			echo "<b><font color=\"red\">$Entry</font>
				  </b> est un repertoire<br>";

			ScanDr("$Entry/$Directory");

		}
		else {
		if (eregi(".htm",$Entry)) {
			$MetaTags = get_meta_tags($Directory."/".$Entry);

			if ($MetaTags["robots"] == "all") {
				$MetaKey = $MetaTags["keywords"];

				$MetaKey = strtoupper($MetaKey);

				echo "Meta($Directory/$Entry): $MetaKey
\n";

				$MetaTitre = $MetaTags["title"];

				echo "Meta($Directory/$Entry): $MetaTitre
\n";

			$query = "INSERT INTO search (lien,keyword,titre)
			VALUES(\"$Directory/$Entry\",\"$MetaKey\",\"$MetaTitre\")";

			$mysql_result = mysql_query($query) or die ("Erreur
			de modification de la table par la requete \"$query\"");

			}
		}
		}
	}
closedir($MyDirectory);

}

$open_basedir=".";

ScanDr(".");

mysql_close();

?>

</body>

</html>


Et lorsque je lance ce fichier sur mon site, ça me met :

"Erreur de modification de la table"

Pourrait-on me dire comment y remédier s'il vous plait ?

Merci d'avance

A voir également:

7 réponses

ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
Modifié par ideal23 le 4/09/2011 à 16:50
$host = "****";

$user = "*****";

$password = ""*****";";

$bdd = ""*****";";
tu as renseignés ces champs?, as-tu un serveur local?
0
nheavy Messages postés 42 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 16 mars 2012
4 sept. 2011 à 16:56
Oui, j'ai renseigné les champs, j'ai mis des étoiles à la place des infos comme elles sont privés.

Je n'ai pas de serveur local, j'envoie tout en ligne via Filezilla et je fais mes tests en ligne.
0
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
4 sept. 2011 à 17:12
la base de données était déjà crée chez ton hébergeur?
0
nheavy Messages postés 42 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 16 mars 2012
4 sept. 2011 à 17:16
oui, je n'avais plus qu'à envoyer mes dossiers et fichiers dedans.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ideal23 Messages postés 456 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 16 mai 2014 28
4 sept. 2011 à 17:35
je cherche, si tu a des connaissance en mysql , essai de crée cette table à la main sur le serveur de ton hébergeur.
0
nheavy Messages postés 42 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 16 mars 2012
4 sept. 2011 à 17:39
Je n'ai pas de connaissance là dedans, désolé.
0
Bonjour,

Je n'ai pas de connaissance là dedans, désolé.

Et c'est bien là tout le souci... Un tutoriel c'est fait pour APPRENDRE et non pas pour faire bêtement du Copier/Coller. Je suis pratiquement sûr de ne pas me tromper en disant que tu ne comprends pas les 3/4 du code PHP inscrit dans la page qui pose problème!
A chaque chargement de la page, PHP tente de recréer la table "search" et MySQL retourne ton message inscrit dans le or die c'est-à-dire :
mysql_query($query) or die ("Erreur de modification de  la table");

Pour débuguer, on modifie le script en fonction des erreurs et les unes après les autres et on teste à nouveau...
Alors modifie ton script pour qu'il ne crée la table "search" qu'une seule fois!
0
nheavy Messages postés 42 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 16 mars 2012
4 sept. 2011 à 18:02
J'ai modifier déjà ce que je comprenais :

ajout de \ devant les " pour width
changement du nom de la fonction scandir

Si je ne comprends pas , je ne peux pas modifier et donc je fais appel à l'aide de quelques aimables personnes sur un forum.

Je ne suis pas venue demander de l'aide ici pour qu'on me dise de me débrouiller seul, ça n'aurait aucun sens.
0
nheavy Messages postés 42 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 16 mars 2012
5 sept. 2011 à 18:48
Si tu trouve pas idel23,

J'essaierais de faire avec googlesearch ou autre, mais ce qui est dommage, c'est que ce genre de moteur de recherche inclus toutes les URLs alors que j'avais configurer mes pages pour que seuls celles qui m'intéressent se fasse ramasser par le programme. :(
0