Problème mysql dans loop for
Bonjour,
Je poste cette question car j'ai un problème avec du MySQL dans une boucle for php. Je vous explique, je veux mettre dans trois colonnes trois données différentes.
Voici LE code :
Le problème est donc que je ne peux pas insérer les trois données...
Merci d'avance !
Je poste cette question car j'ai un problème avec du MySQL dans une boucle for php. Je vous explique, je veux mettre dans trois colonnes trois données différentes.
Voici LE code :
<?php
$servername = "localhost";
$username = "root";
$password = "bdd";
$conn = mysql_connect($servername, $username, $password);
$db = mysql_select_db('site', $conn);
$liensdansfichier = file_get_contents("liens.txt");
$motif = "#/?(https?://)+[a-zA-Z0-9_./-]+.(php|html|htm)#";
preg_match_all($motif, $liensdansfichier, $out);
$nbliens = count($out[0]);
for($nombre=0;$nombre<=2;$nombre++) {
$curl1 = curl_init();
curl_setopt($curl1, CURLOPT_URL, $out[0][$nombre]);
curl_setopt($curl1, CURLOPT_RETURNTRANSFER, true);
$return = curl_exec($curl1);
$return = "\"".$return."\"";
$adresse = "\"".$out[0][$nombre]."\" ";
$pertinance = "\"1\" ";
$sql = "INSERT INTO adressesite ( adresse, contenu, pertinance) VALUES (".$adresse.",".$return.",".$pertinance.")";
if (mysql_query($sql, $conn)) {
echo "New record created successfully";
} else {
echo "Erreur";
}
}
?>
Le problème est donc que je ne peux pas insérer les trois données...
Merci d'avance !
2 réponses
-
ModérateurBonjour,
1 - Tu utilises l'ancienne extension mysql considérée comme obsolète !
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
2 - Fais un echo de ta requête ... et teste la directement dans ta BDD... si il y a une erreur... ça te le dira
3 - Tu as écrit :$sql = "INSERT INTO adressesite ( adresse, contenu, pertinance) VALUES (".$adresse.",".$return.",".$pertinance.")";
Donc... sauf si tes variables sont des numériques ..... où sont les QUOTES qui devraient les entourer ?$sql = "INSERT INTO adressesite ( adresse, contenu, pertinance) VALUES ('".$adresse."','".$return."','".$pertinance."')";
-
Salut,
Tu peux commencer par afficher les éventuelles erreurs sql : https://www.php.net/manual/fr/function.mysql-error.php
Essaye d'afficher ta requête sql pour la tester directement dans un client sql (PhpMyAdmin par exemple).
Bonne journée