Warning: mysql_query(): supplied argument is not a valid MySQL-L

Résolu/Fermé
chaima.abdouli Messages postés 94 Date d'inscription mercredi 17 juin 2015 Statut Membre Dernière intervention 3 septembre 2015 - 18 août 2015 à 15:43
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 à 09:56
Bonjour,

je développe un script pour mettre a jour la base de données avec des produits a partir d'un fichier CSV ! J'ai eu cette erreur en le lançant !

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/vinem/www/batch/batch_stock.php on line 47

c'est le code :
<?php
/*---------------------CONNEXION MYSQL----------------------*/

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

set_time_limit(1600);

$link = mysql_connect('', '', '');
if (!$link) {
    die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';
mysql_close($link);


//$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];
   
      $batch ="UPDATE declinaison_stock_produit SET stock='4' where upc = '56939'";
      $requete = mysql_query($link, $batch);

			 
			 echo("Stock mis à jour  ");
             echo("Fin de l'éxécution du batch");
          
}





2 réponses

NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 novembre 2024 345
18 août 2015 à 15:54
Tu ne fermerais pas l'accès à la base de données trop rapidement ?

Petit rappel, l'extension mysql est obsolète
0
chaima.abdouli Messages postés 94 Date d'inscription mercredi 17 juin 2015 Statut Membre Dernière intervention 3 septembre 2015 2
18 août 2015 à 16:10
J'ai enlevé mysql_close($link); mais une autre erreur apparait ! en fait j'utilise pour mon shop une version tres ancienne de php je pense qu'il n'accepte pas mysqli parce que j'ai essay" avec mais il me pointe une erreur sur ça ! donc j'ai utilisé mysql et la l'erreur est la suivante

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/vintagem/www/batch/batch_vintage_stock.php on line 51


et c'est la ligne en question

$requete = mysql_query($link, $batch);
0
NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 novembre 2024 345
18 août 2015 à 16:18
Es-tu sûr que ta connexion à MySql est correctement ouverte (sans erreur ni warning) ?
Normalement, avec l'extension "mysql", tu n'as pas à préciser la connexion si c'est la dernière ouverte.
0
chaima.abdouli Messages postés 94 Date d'inscription mercredi 17 juin 2015 Statut Membre Dernière intervention 3 septembre 2015 2
18 août 2015 à 16:21
Non! il arrive à se connecter , à parcourir le fichier ! il affiche les echos mais rien ne change au niveau de la base voila ce qui s'affiche exactement lors du lancement !

Connecté correctementParcours du fichier...

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/vintagem/www/batch/batch_vintage_stock.php on line 51

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/vintagem/www/batch/batch_vintage_stock.php on line 55
Stock mis à jour Fin de l'éxécution du batch
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
18 août 2015 à 17:00
Salut,

Tu as simplement inversé l'ordre des paramètres de mysql_query :
$batch ="UPDATE declinaison_stock_produit SET stock='4' where upc = '56939'";
$requete = mysql_query($batch, $link);


https://www.php.net/manual/fr/function.mysql-query.php

Bonne journée
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
18 août 2015 à 17:06
Bonjour,

Sans oublier qu'il clos la connexion.... avant même de l'avoir utilisé :

$link = mysql_connect('', '', '');
if (!$link) {
    die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';
mysql_close($link);
0
chaima.abdouli Messages postés 94 Date d'inscription mercredi 17 juin 2015 Statut Membre Dernière intervention 3 septembre 2015 2
18 août 2015 à 17:11
Oui tout à fait ! Merci beaucoup
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
18 août 2015 à 17:12
Il semble que ce point soit corrigé suite au message de NHenry, mais oui la connexion ne risque pas de fonctionner si on la ferme juste après l'avoir ouverte.
0
chaima.abdouli Messages postés 94 Date d'inscription mercredi 17 juin 2015 Statut Membre Dernière intervention 3 septembre 2015 2
18 août 2015 à 17:12
Oui oui c'est ça
0
chaima.abdouli Messages postés 94 Date d'inscription mercredi 17 juin 2015 Statut Membre Dernière intervention 3 septembre 2015 2
19 août 2015 à 09:56
Bonjour ,

par contre aucun changement ne s'effectue au niveau de la base de donnée :/
0