[PHP/MySQL]$_REQUEST['id']

Benjik59 -  
 Benjik59 -
Bonjour !

Je développe actuellement un script de news pour un des sites de ma création mais je rencontre un problème...

J'utilise l'ID pour modifier les messages via un formulaire (http://monsite.com/admin/news_edit.php?id=1), et c'est là que le problème se pose, dès que je veux récupérer l'ID dans ma requete SQL ($_REQUEST['id']), un message d'erreur s'affiche... (avec ou sans concaténation).

Je serais très heureux que quelqu'un puisse me venir en aide,

Cordialement,
Benjik59 =)
Configuration: Windows XP
Opera 9.21

4 réponses

  1. rénolipus
     
    Tu as inversé apostrophes et guillemets.

    $sql = 'SELECT * FROM news WHERE id = \'' . $_REQUEST['id'] . '\''; 


    Si $_REQUEST['id'] est numérique, ce n'est pas nécessaire d'en utiliser.

    $sql = 'SELECT * FROM news WHERE id =' . intval($_REQUEST['id']); 
    2
  2. Jean-François Pillou Messages postés 18961 Date d'inscription   Statut Webmaster Dernière intervention   63 308
     
    Fais voir ta requête SQL et l'erreur affichée par PHP/MySQL !

    @mysql_query($query,$link) or echo mysql_error($link);


    C'est probablement une question de guillemets...
    0
  3. Benjik59
     
    Merci de cette réponse rapide !!

    Voici le code :

    $sql = 'SELECT * FROM news WHERE id = '" . $_REQUEST['id'] . "';
    $resultat = mysql_query($sql);
    $news = mysql_fetch_array ($resultat);
    echo ("<form action='news_valid.php' method='post'>");
    echo ("<input type='hidden' name='enregistre' value='oui' />");
    echo ("<input type='hidden' name='id' value=tets />");
    echo ("<table>");
    echo ("<tr>");
    echo ("<td>$tindid</td>");
    echo ("<td><input type='text' name='titre' value='prout' /></td>");
    echo ("</tr>");
    echo ("<tr>");
    echo ("<td>Contenu</td>");
    echo ("<td><textarea name='titre' rows='4' cols='40' value='texte' /></td>");
    echo ("</tr>");
    echo ("</table>");
    echo ("<br />");
    echo ("<input type='submit' value='Mettre à jour' />");
    echo ("</form>");
    mysql_close($liendb); ?>

    Et le message d'erreur :

    Parse error: parse error, unexpected '\"' in /homepages/3/d210677879/htdocs/admin/news_edit.php on line 11 (ici ligne 1, je n'ai pas mis le code en totalité)

    Merci d'avance,
    Benjik59
    0
  4. Benjik59
     
    Merci beaucoup, problème résolu =)
    0