Probleme php
qwerty
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
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 ^^
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 ^^
Configuration: Windows XP Firefox 3.0.8
3 réponses
-
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(). -
Pas possible, à part si ton fichier contient le texte :
Array
Array
... -
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]')";