Problème mysql dans loop for

Fermé
locraft44 Messages postés 9 Date d'inscription jeudi 24 juillet 2014 Statut Membre Dernière intervention 12 mars 2016 - Modifié par locraft44 le 12/03/2016 à 21:50
jordane45 Messages postés 38437 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 février 2025 - 14 mars 2016 à 14:34
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 !
A voir également:

2 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 526
Modifié par Pitet le 14/03/2016 à 14:34
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
0
jordane45 Messages postés 38437 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 février 2025 4 737
14 mars 2016 à 14:34
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."')";



0