更新未执行

时间:2015-08-19 07:49:40

标签: php mysql csv batch-file

我准备了一个更新字段的脚本" stock"在我的在线商店的数据库中。 当我运行它时,会出现没有错误的人!但是,数据库没有发生任何变化 那可能是什么问题!由于它的名称,它无法访问数据库?

有什么想法吗? 以下是代码:

<?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");

}
?>

1 个答案:

答案 0 :(得分: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='';

您已注释掉了对其进行硬编码的行。