2015-08-19 3 views
-1

Я готовлю сценарий, который обновляет поле «запас» в базе данных моего интернет-магазина. Когда я запускаю его, нет ошибок, которые появляются! Однако никаких изменений в базе данных не происходит Так что может быть проблемой! Он не может получить доступ к базе данных из-за ее имени?Обновление не выполнено

Любая идея? Вот код ниже:

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

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

set_time_limit(1600); 
$link = mysql_connect($servername, $database_username, $database_password); 
//$link = mysql_connect('mysql5-6.240', 'vintagemvm75', 'pu1df4mu'); 
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"); 

} 
?> 
+0

Вам также необходимо выбрать ** базу данных **, используя 'mysql_select_db()'. Я настоятельно рекомендую вам перейти на использование чего-то вроде 'mysqli' или' PDO'. – Cyclonecode

+0

Вы никогда не проверяете наличие ошибок. Почему вы знаете, что нет ошибки? – Jens

+0

Когда я попытался использовать mysql_select_database, он не принял его! Я думал, что версия Php моего магазина очень старая, поэтому я не использовал mysqli! Так что я могу сделать ? ther's uncomment code with select database проверяет его и скажите, правильно ли это или нет. –

ответ

0

Вы не заполнили переменные подключения, которые передаются mysql_connect. Кроме того, вы даже не используете mysql_select_db(), чтобы подключиться к базе данных. Это должно быть что-то вроде:

mysqli_select_db($link, $database_name); 

В противном случае укажите имя базы данных в mysql_connect() следующим образом:

$link = mysql_connect($servername, $database_username, $database_password, $database_name); 

Вы должны иметь эти переменные, заполненные для того, чтобы подключиться к базе данных:

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

Вы прокомментировали строки, в которых вы их жестко закодировали.

+0

Спасибо! Это сейчас решено –

Смежные вопросы