Php/mysql connection base

Fermé
nico57 - 25 juin 2008 à 12:26
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 - 25 juin 2008 à 14:38
Bonjour,

actuellement entrain de develloper un plugin je cherche à passer certaine information de la base de donnée dasn un fichier .sql.
seulement lorsque j'ouvre le fichier sql la seul information qui apparait est "Resource id #60".
quelqu un pourrait il me signifier ce message ?
les paramètres de connection à la base sont effectué automatiquement ou faut il les reprécisé dans le plugin ?

ou bien est simplement un probleme lié à ma requete

$mode= "a+";
if(file_exists("$file_name"))
{
unlink("$file_name");
}
$fp=fopen("$file_name",$mode);

$requete = " SELECT * FROM glpi_tracking
    where {(date>>$date1)  
    and (date<<$date2)";
                        
$result= mysql_query($requete); 
fwrite($fp,$result);

d'avance merci
A voir également:

3 réponses

Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 69
25 juin 2008 à 12:39
C'est normal que ça te fasse ça : la fonction mysql_query() te retourne une variable de type resource que tu ne pourras pas recopier en vrac comme ça dans ton fichier.

Pour pouvoir reformer à partir de ça ta base, il va falloir que tu écrives dans ton fichier .sql un truc du genre :
while($valeurs = mysql_fetch($result)){
    // Chaine à ecrire dans ton fichier
    $chaine = "truc=".$valeur['truc']." ; machin=".$valeur['machin']."\n";
    fprintf($fp, $chaine);
}

Avec truc et machin deux attributs de ta table.

(Le format de ma chaîne est bidon... Si tu veux former un fichier sql avec lequel tu pourras reconstruire ta base de données, il faudra que tu écrives exactement les requêtes d'insertion qui conviennent, sans oublier aussi la requête de création de table...)
0
ah daccord donc si j'ai bien compris
il faut qu'a la suite je rajoute
while ($resultat==mysql_fect_array($result)){
$temp =fopen($file_name,"a+"); // ouverture du fichier
$val= INSERT INTO glpi_tracking VALUES ('" ;
$val .=$resultat["ID"];
$val .="','";
$val .=$resultat["date"];
$val .="','";
$val .=$resultat["closedate"];
$val .="','";
$val .=$resultat ["status"];
$val .="','";
$val .=$resultat ["author"];
$val .="','";
$val .=$resultat ["FK_group"];
$val .="','";
$val .=$resultat ["request_type"];
$val .= '");";
Fputs($temp,$val); //on écrit dans le fichier nos inforamtions
Fclose($TEMP);
0
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 69
25 juin 2008 à 12:51
Oui, normalement ça devrait marcher...

Plus précisément, tu dois écrire :
$val= INSERT INTO glpi_tracking (ID, date, closedate, status, author, FK_group, requets_type) VALUES ('" ; 
pour pouvoir faire ton insertion.

Encore une fois, n'oublie pas d'écrire en plus la requête pour la création de la table...
0
ok merci beaucoup je vais essayer ca^^
ton aide ma était précieuse
0
Bonjour,
j'ai encore un petit soucis surement de syntace d 'apres moi mais j'ai beau chercher je ne trouve pas

while ($resultat=mysql_fetch_array($result)){ 
	$temp =fopen($file_name,"a+"); // ouverture du  fichier  
	//le a+ signifie : Ouvre en lecture et écriture; place le pointeur de fichier à la fin du fichier. Si le fichier      n'existe pas, on tente de le créer.
	$val  =INSERT INTO glpi_tracking VALUES(ID, date, closedate, status, author)(";
	$val .=$resultat["ID"];
	$val .="','";
	$val .=$resultat["date"];
	$val .="','";
	$val .=$resultat["closedate"];
	$val .="','";
	$val .=$resultat ["status"];
	$val .="','";
	$val .=$resultat ["author"];
	$val .= "');";	
	Fputs($temp,$val); //on écrit dans le fichier nos informations
	Fclose($TEMP);


voila déja je pense qu il faut des " avant le insert mais j 'ai essayé sans succée...
0
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 69
25 juin 2008 à 14:38
Qu'est-ce qu'il te retourne comme erreur ? Ensuite, tu dois avoir des problèmes de variables non initialisées vu que par exemple tu utilise aussi bien $temp que $TEMP, ce qui n'est pas la même variable. Enfin je dirais à priori que les fonction Fputs et Fclose s'écrivent tout en minuscule (fput(), fclose());
0