Probleme php

Fermé
qwerty - 4 mai 2009 à 11:45
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 4 mai 2009 à 17:10
Bonjour,

Alors voila j ai un petit problème avec un script php.

La fonction de mon script est d'envoyer automatiquement des données stockées dans un txt dans une base de données.

Voila a quoi ressemble mon prog:

<?php
$link = mysql_connect("localhost", "root", "");
mysql_select_db("orphy", $link) or die(mysql_error());
$file = fopen("C:\eleve\vigneron\client\stockt.txt", "r");

$tab_res=array();
$i=0;
while (!feof($file))
{
$tab_res[$i]=explode("chr(10)",fgets($file,128));
$query = "INSERT INTO orphy ( temperature ) VALUES ('$tab_res[$i]')";
$result = mysql_query($query, $link) or die($query . " - " . mysql_error());
$i++;
}
fclose($file);
mysql_close($link);
?>


Je n'ai aucune erreur à l'exécution mais au lieu d'avoir les données stockées dans le txt apparaître dans le champ temperature de ma BDD j'ai le mot "Array" qui s'y inscrit...

Donc voila voila si quelqu un connait une solution capable de me débloquer je suis tout ouïe ^^
A voir également:

3 réponses

P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
4 mai 2009 à 12:03
Faire des requetes dans une boucle, c'est à éviter.
Sans boucle :
$link = mysql_connect("localhost", "root", ""); 
mysql_select_db("orphy", $link) or die(mysql_error()); 

$file = file('C:\eleve\vigneron\client\stockt.txt'); 

// Suppression des caractères blancs éventuels
$file = array_map('trim', $file);

$query = "INSERT INTO orphy ( temperature ) VALUES ('";
$query .= implode("', '", $file);
$query .= "')";
$result = mysql_query($query, $link) or die($query . " - " . mysql_error());

fclose($file); 
mysql_close($link);
Il est aussi important d'appliquer mysql_real_escape_string() ou encore intval() (si valeurs numériques) sur ton tableau avec array_map().
0
le probleme reste le meme j ai toujours Array qui apparait dans mon champ temperature...
0
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
4 mai 2009 à 14:46
Pas possible, à part si ton fichier contient le texte :

Array
Array
...
0
heu ba non j ai pas de array dans mon txt....
voila a quoi il ressemble:
22.47 °C
22.94 °C
24.35 °C
22.94 °C
22.94 °C
22.94 °C
22.94 °C
23.41 °C
22.94 °C
...
...
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
4 mai 2009 à 17:10
Normal que tu ais array dans ta BDD car:

$tab_res[$i]=explode("chr(10)",fgets($file,128));

explode genere un array qui est stocké dans $tab_res[$i]

et comm en dessous c'est $tab_res[$i] que tu enregistres dans ta base .....

si tu veux garder ton code ainsi, il faut :

$tab_res[$i]=explode("chr(10)",fgets($file,128));
$query = "INSERT INTO orphy ( temperature ) VALUES ('$tab_res[$i][0]')"; 
0