Php/mysql connection base
nico57
-
Sri Lumpa Messages postés 177 Statut Membre -
Sri Lumpa Messages postés 177 Statut Membre -
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
d'avance merci
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:
- Php/mysql connection base
- Base de registre - Guide
- Gmail connection - Guide
- Easy php - Télécharger - Divers Web & Internet
- Formules mathématiques de base - Télécharger - Études & Formations
- Mysql community download - Télécharger - Bases de données
3 réponses
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 :
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...)
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...)
Oui, normalement ça devrait marcher...
Plus précisément, tu dois écrire :
Encore une fois, n'oublie pas d'écrire en plus la requête pour la création de la table...
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...
Bonjour,
j'ai encore un petit soucis surement de syntace d 'apres moi mais j'ai beau chercher je ne trouve pas
voila déja je pense qu il faut des " avant le insert mais j 'ai essayé sans succée...
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...
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());
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);