2012-12-26 4 views
0

J'essayais de mettre à jour le contenu de mon site Web par une fenêtre contextuelle. J'ai fait apparaître le contenu en fonction de l'ID mais lorsque j'essaie de le soumettre une erreur apparaît sur la fenêtre pop-upUne erreur s'est produite lors de l'exécution de la requête

Une erreur s'est produite lors de l'exécution de la requête. Veuillez informer le développeur Web de cette erreur.

REMARQUE: Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près « OÙ textID = 16 » à la ligne 1

et je ne peux pas sembler trouver le bug. Peux-tu le voir?

Voici mon code complet:

<!-- PHP --> 
<? 
    include('global.php'); 

    if(isset($_REQUEST['textID'])) 
     $textID = $_REQUEST['textID'];  
    if(isset($_REQUEST['textContent'])) 
     $textContent = $_REQUEST['textContent']; 

      if($_POST){ 
      $query = "UPDATE text_tb SET "; 
      $query = $query."textContent='".$textContent."', "; 
      $query = $query."WHERE textID=".$textID.""; 
      //echo $query; 
      ExecuteQuery($query); 
      echo "<script type=\"text/javascript\"> 
       <!-- 
       window.close(); 
       //--> 
       </script>"; 
      } 
?> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Full featured example</title> 
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
<!-- TinyMCE --> 
<script type="text/javascript" src="../jscripts/tiny_mce/tiny_mce.js"></script> 
<script type="text/javascript"> 
    tinyMCE.init({ 
     // General options 
     mode : "textareas", 
     theme : "advanced", 
     plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,visualblocks", 

     // Theme options 
     theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,fontselect,fontsizeselect", 
     theme_advanced_buttons2 : "bullist,numlist,|,undo,redo,|,link,unlink,|,forecolor", 
     theme_advanced_toolbar_location : "top", 
     theme_advanced_toolbar_align : "left", 
     theme_advanced_statusbar_location : "bottom", 
     theme_advanced_resizing : false, 

     // Example content CSS (should be your site CSS) 
     content_css : "css/content.css", 

     // Drop lists for link/image/media/template dialogs 
     template_external_list_url : "lists/template_list.js", 
     external_link_list_url : "lists/link_list.js", 
     external_image_list_url : "lists/image_list.js", 
     media_external_list_url : "lists/media_list.js", 

     // Style formats 
     style_formats : [ 
      {title : 'Bold text', inline : 'b'}, 
      {title : 'Red text', inline : 'span', styles : {color : '#ff0000'}}, 
      {title : 'Red header', block : 'h1', styles : {color : '#ff0000'}}, 
      {title : 'Example 1', inline : 'span', classes : 'example1'}, 
      {title : 'Example 2', inline : 'span', classes : 'example2'}, 
      {title : 'Table styles'}, 
      {title : 'Table row 1', selector : 'tr', classes : 'tablerow1'} 
     ], 
    }); 
</script> 
<!-- /TinyMCE --> 

</head> 
<body role="application"> 

<form method="post" action="<?php $_PHP_SELF ?>"> 
    <div> 
       <!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded --> 
     <div> 
      <textarea id="textContent" name="textContent" rows="15" cols="80" style="width: 80%"> 
      <? 
      $result = mysql_query("SELECT * FROM text_tb WHERE textID ='".$textID."'"); 
           while($row = mysql_fetch_array($result)){ 
            echo $row['textContent']; 
           } 
      ?> 
      </textarea> 
     </div> 

     <!-- Some integration calls 
     <a href="javascript:;" onclick="tinyMCE.get('textContent').show();return false;">[Show]</a> 
     <a href="javascript:;" onclick="tinyMCE.get('textContent').hide();return false;">[Hide]</a>--> 
     <br /> 
     <input type="submit" name="save" value="Submit" /> 
     <input type="reset" name="reset" value="Reset" /> 
    </div> 
</form> 

<!--<script type="text/javascript"> 
if (document.location.protocol == 'file:') { 
    alert("The examples might not work properly on the local file system due to security settings in your browser. Please use a real webserver."); 
} 
</script>--> 
</body> 
</html> 
+0

Beware [Injection SQL] (http://xkcd.com/327). –

Répondre

1

Le problème est la virgule à la fin de l'ensemble. Modifiez cette ligne:

 $query = $query."textContent='".$textContent."', "; 

à:

 $query = $query."textContent='".$textContent."' "; 
+0

petite erreur que j'ai faite là. Merci beaucoup! – jamie

Questions connexes