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

Résolu
chaima.abdouli Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   -  
chaima.abdouli Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   -
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");
          
}





A voir également:

2 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
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   Statut Membre Dernière intervention   2
 
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 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
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   Statut Membre Dernière intervention   2
 
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   Statut Membre Dernière intervention   527
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention   2
 
Oui tout à fait ! Merci beaucoup
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
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   Statut Membre Dernière intervention   2
 
Oui oui c'est ça
0
chaima.abdouli Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour ,

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