Bonsoir,
J'ai configuré mon serveur MySQL pour qu'il puisse gérer la fonctionnalité LOAD DATA LOCAL INFILE. Pour ce faire, j'ai ajouter l'option "local-infile=1" dans la partie "[client]" du fichier "/etc/mysql/my.cnf".
J'ai ajouter un fichier PHP de test afin de voir si l'option en question fonctionnait ou pas (le fichier de test et ses dépendances sont à la fin du présent post).
Sans l'option "local-infile=1", le script ne fonctionne pas du tout (logique ...).
Avec l'option "local-infile=1", le script fonctionne de manière aléatoire (1/10 fonctionne).
C'est problématique pour mon utilisation finale souhaitée. Je n'ai vraiment aucune idée du pourquoi d'un tel comportement.
Quelqu'un aurait une idée ? Une aide à m'apporter ?
Merci beaucoup d'avance,
B.
# ######################################################################### #
# Mon test PHP (/var/www/temp_test/test_load_local_data_infile.php) : #
# ######################################################################### #
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<?php
echo "<span style='color:#CCC'>";
echo "NOTA: test_local_data_infile.txt :<br/>";
echo "X1<br/>";
echo "X2<br/>";
echo "X3<br/>";
echo "X4<br/>";
echo "</span>";
echo "********************************<br/><br/>";
echo "1) Connection to the database Prestashop -><span style='color:#CCC'>mysql_pconnect(hostname, username, password)/ mysql_select_db(database,prestashop)</span>";
echo "<br/><br/>";
require('connect_bdb_edeel.php');
mysql_select_db($database_MaBoutique, $MaBoutique) or die(mysql_error());
echo "2) DELETE FROM test_local_data_infile / ";
$requete = mysql_query ("DELETE FROM test_local_data_infile");
echo "SELECT * FROM test_local_data_infile : <span style='color:red'>";
$t=1;
$query_Resultats = "SELECT * FROM test_local_data_infile";
$resultats = mysql_query($query_Resultats,$MaBoutique) or die(mysql_error());
while($result=mysql_fetch_assoc($resultats)){
$import[$t]=$result;
echo $import[$t]['nom']."<br/>";
$t++;
}
if($t==1){echo "EMPTY";}
echo "</span><br/><br/>";
/////////////////////////////////////////
echo "3) INSERT INTO test_local_data_infile SET nom='INIT1 / SELECT * FROM test_local_data_infile : ";
$requete = mysql_query ("INSERT INTO test_local_data_infile SET nom='INIT1'");
echo "<span style='color:red'>";
$t=1;
$query_Resultats = "SELECT * FROM test_local_data_infile";
$resultats = mysql_query($query_Resultats,$MaBoutique) or die(mysql_error());
while($result=mysql_fetch_assoc($resultats)){
$import[$t]=$result;
echo $import[$t]['nom']."<br/>";
$t++;
}
echo "</span><br/>";
///////////////////////////////////////
echo "4) LOAD DATA LOCAL INFILE 'test_local_data_infile.txt' INTO TABLE test_local_data_infile<br/>";
$query= mysql_query("LOAD DATA LOCAL INFILE 'test_local_data_infile.txt' INTO TABLE test_local_data_infile");
if(mysql_errno()>0)
echo '<h4>MySQL Error code: '.mysql_errno().'<br>Message: '.mysql_error().'</h4>';
echo "<br*/>";
echo "5) SELECT * FROM test_local_data_infile :<br/><span style='color:red'>";
$t=1;
$query_Resultats = "SELECT * FROM test_local_data_infile";
$resultats = mysql_query($query_Resultats,$MaBoutique) or die(mysql_error());
while($result=mysql_fetch_assoc($resultats)){
$import[$t]=$result;
echo $import[$t]['nom']."<br/>";
$t++;
}
echo "</span><br/>********** end *************";
?>
</body>
</html>
# ########################################## #
# /var/www/temp_test/connect_bdb_edeel.php : #
# ########################################## #
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_MaBoutique = "localhost";
$database_MaBoutique = "dealcenterpro";
$username_MaBoutique = "root";
$password_MaBoutique = "3d33l@mysql!";
$MaBoutique = mysql_pconnect($hostname_MaBoutique, $username_MaBoutique, $password_MaBoutique) or trigger_error(mysql_error(),E_USER_ERROR);
# ################################################ #
# /var/www/temp_test/test_local_data_infile.txt : #
# ################################################ #
X1
X2
X3
X4
Partager