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 :


<?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

  1. Modérateur
    Bonjour,

    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."')";