mysql_fetch_assoc() qui retourne une erreur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mysql_fetch_assoc() qui retourne une erreur

Re: mysql_fetch_assoc() qui retourne une erreur

par JeanJean » 10 janv. 2010, 20:43

Merci beaucoup, problème résolue. ;)

Re: mysql_fetch_assoc() qui retourne une erreur

par Ryle » 10 janv. 2010, 20:18

Ta requête est délimitée par des apostrophes, résultat, les variables qui s'y trouvent ne sont pas remplacées par leurs valeurs, il faut donc sortir les variables. C'est ce que tu as commencé à faire en ajoutant les points pour la concaténation, mais si tu ne fermes pas les chaines de début et fin, ça reste toujours la même chaine (chais pas si c'est clair :))
echo 'SELECT ... FROM news WHERE id=".$id."'; // affiche : SELECT ... FROM news WHERE id=".$id."

echo 'SELECT ... FROM news WHERE id="'.$id.'"'; // affiche : SELECT ... FROM news WHERE id="36"

echo 'SELECT ... FROM news WHERE id='.$id; // affiche : SELECT ... FROM news WHERE id=36
C'est cette dernière syntaxe qui est la plus adaptée si ton champ id est un champ numérique

Re: mysql_fetch_assoc() qui retourne une erreur

par Premium » 10 janv. 2010, 04:08

"SELECT * FROM news WHERE id={$id}"

Re: mysql_fetch_assoc() qui retourne une erreur

par florinn » 10 janv. 2010, 02:10

Dans ton interrogation sql le $id n'est pas remplacé avec sa valeur
Essaie comme ça pour voir aussi la erreur mysql

$news_query = mysql_query("SELECT * FROM news WHERE id='".$id."'")
or die('Erreur query: ' . mysql_error());

Re: mysql_fetch_assoc() qui retourne une erreur

par JeanJean » 10 janv. 2010, 01:45

Pour le $id, je ne dois pas laisser le champ vide du faite qu'il soit ma clé primaire ?

Re: mysql_fetch_assoc() qui retourne une erreur

par djtec » 10 janv. 2010, 01:20

Regarde ta requête mysql_query tu as oublié quelque chose au niveau de $id

mysql_fetch_assoc() qui retourne une erreur

par JeanJean » 10 janv. 2010, 01:18

Bonsoir,

Je suis entrain de coder la partie édition d'un système de news et j'ai un problème.
	/* Modifier news */
	if(isset($_GET['modifier_news'])){
		$id = intval($data['id']);
		$news_query = mysql_query('SELECT * FROM news WHERE id=".$id."')
			or die('Erreur query');
		$data = mysql_fetch_assoc($news_query)
			or die('Erreur assoc');
	}
	/* Insertion de news */
	elseif(isset($_POST['titre']) && isset($_POST['content'])){
		$titre = $_POST['titre'];
		$contenu = $_POST['content'];
		
		if(empty($titre) || empty($contenu)){
			echo 'Un ou plusieurs champs sont vides.';
		}
		else{
			require 'config.php';
			mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
			mysql_select_db(DB_BDD);
			
			$_POST['content'] = htmlentities($_POST['content']);
			
			$titre_sql = mysql_escape_real_string($titre);
			$contenu_sql = mysql_escape_real_string($contenu);
			
			$insertion = mysql_query("INSERT INTO `news` (id,titre,contenu,categorie,timestamp,date) VALUES ('','$titre_sql','$contenu_sql','','','')")
				or die('Erreur SQL');
		}
Le script me renvoie "Erreur assoc" mais je ne sais pas pourquoi.

Si quelqu'un peut m'aiguiller.

Merci. :)