Page 1 sur 1

mysql_fetch_assoc() qui retourne une erreur

Posté : 10 janv. 2010, 01:18
par JeanJean
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. :)

Re: mysql_fetch_assoc() qui retourne une erreur

Posté : 10 janv. 2010, 01:20
par djtec
Regarde ta requête mysql_query tu as oublié quelque chose au niveau de $id

Re: mysql_fetch_assoc() qui retourne une erreur

Posté : 10 janv. 2010, 01:45
par JeanJean
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

Posté : 10 janv. 2010, 02:10
par florinn
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

Posté : 10 janv. 2010, 04:08
par Premium
"SELECT * FROM news WHERE id={$id}"

Re: mysql_fetch_assoc() qui retourne une erreur

Posté : 10 janv. 2010, 20:18
par Ryle
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

Posté : 10 janv. 2010, 20:43
par JeanJean
Merci beaucoup, problème résolue. ;)