Mise à jour non acceptée !!!!

Résolu/Fermé
chaima.abdouli Messages postés 94 Date d'inscription mercredi 17 juin 2015 Statut Membre Dernière intervention 3 septembre 2015 - Modifié par jordane45 le 19/08/2015 à 10:06
chaima.abdouli Messages postés 94 Date d'inscription mercredi 17 juin 2015 Statut Membre Dernière intervention 3 septembre 2015 - 19 août 2015 à 10:25
Bonjour,

Je prépare un script pour la mise à jour d'un champ "stock" dans la abse de donnée de ma boutique en ligne !
Aucune erreur n'apparaît en le lançant par contre aucun changement ne s'effectue au niveau de la base de donnée !
est ce qu'il n'arrive pas à accéder à ma base ?
Voici le code en question :

<?php
/*---------------------CONNEXION MYSQL----------------------*/

$servername='*******';
$database_username='*****';
$database_password='*****';
$database_name='*****';

set_time_limit(1600);
$link = mysql_connect($servername, $database_username, $database_password, $database_name);
//$link = mysql_connect('mysql5-6.240', 'vintagemvm75', 'pu1df4mu', 'vintagemvm75');
if (!$link) {
    die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';



//$link = mysql_connect($servername,$database_username,$database_password) or die("Erreur de connexion au serveur"); //mysql_connect
//mysql_select_db($link, $database_name) or die("Erreur de connexion à la BDD"); //old: mysql_select_db

/*---------------------FIN CONNEXION MYSQL----------------------*/


/*---------------------RÉCUPÉRATION DU FICHIER STOCK et INITIALISATION----------------------*/

$fichier = file("../batch/export_solsys.csv");
$fp = fopen("../batch/export_solsys.csv","r");

$upc= "";
$stock="";
$ligne = 1; 

/*---------------------FIN RÉCUP----------------------*/


echo("Parcours du fichier...")."<br/>";
/*---------------------MISE A JOUR DU STOCK----------------------*/
while($tab=fgetcsv($fp,1000,';'))
{      
            $champs = count($tab);//nombre de champs dans la ligne en question 
      $ligne++;
      $upc = $tab[0];
   $stock = $tab[7];

   echo("upc: ").$upc."<br/>";
   echo("stock: ").$stock."<br/>";

$batch = "SELECT stock FROM declinaison_stock_produit where upc = '56939'";
$requete = mysql_query($batch, $link);
   
$batch1 ="UPDATE declinaison_stock_produit SET stock = '4' where upc = '56939'";
$requete1 = mysql_query($batch1, $link);  
   
  
    echo("Stock mis à jour  ");
             echo("Fin de l'éxécution du batch");
          
}
?>




EDIT : Suppression des informations de la BDD
A voir également:

2 réponses

jordane45 Messages postés 38147 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 avril 2024 4 650
19 août 2015 à 10:09
Bonjour,

1 - Tu utilises l'extension mysql considérée domme obsolète...
je te conseille de passer à la PDO.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

2 - Tu peux ajouter du debug sur l'exécution de tes requêtes pour essayer de voir ce qui ne va pas...

Par exemple :

$batch1 ="UPDATE declinaison_stock_produit SET stock = '4' where upc = '56939'";
$requete1 = mysql_query($batch1, $link) or die("<br><b>Erreur </b>: " .mysql_error(). "<br> Requete :<br>".$batch1 );  



0
chaima.abdouli Messages postés 94 Date d'inscription mercredi 17 juin 2015 Statut Membre Dernière intervention 3 septembre 2015 2
Modifié par jordane45 le 19/08/2015 à 10:36
j'ai ajouté ça pour la séléction de la base de donnée

$db_selected = mysql_select_db('', $link);
if (!$db_selected) {
   die ('Impossible de sélectionner la base de données : ' . mysql_error());
}


Et ça fonctionne et merci je travaille déjà avec mysqli pour mes autres boutiques ! Sauf que celle ci est très ancienne je vais la faire migrer et après je passerai surement à la PDO

Merci encore une fois

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.
0