更新sql语句不起作用

时间:2014-11-27 05:25:50

标签: php mysql sql-update

我是编程新手。我尝试更新sql但它无法正常工作。结果显示成功警报出来但信息未更新。

这是我的HTML代码。我正在使用tinymce

<?php
  include("db.php");
  doDB();

  $id = $_GET['id'];

  $get_contents_sql = "SELECT * FROM service WHERE service_id='$id'";
  $get_contents_res = mysqli_query($mysqli, $get_contents_sql)
  or die(mysqli_error($mysqli));

  if($get_contents_res = mysqli_query($mysqli, $get_contents_sql)){
    //fetch associative array
    while ($row = mysqli_fetch_assoc($get_contents_res)) {   
      $contents = $row['contents'];
      $service_name = $row['service_name'];
      $service_id = $row['service_id'];

      //Draw the results
      $fill_block = html_entity_decode($contents);
    }
  }

  //close connection to MySQL
  mysqli_close($mysqli);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<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 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
        theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
        theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
        theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft,visualblocks",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        theme_advanced_resizing : true,

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

        // Drop lists for link/image/media/template dialogs
        template_external_list_url : "examples/lists/template_list.js",
        external_link_list_url : "examples/lists/link_list.js",
        external_image_list_url : "examples/lists/image_list.js",
        media_external_list_url : "examples/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'}
        ],

        // Replace values for the template plugin
        template_replace_values : {
            username : "Some User",
            staffid : "991234"
        }
    });
</script>
<!-- /TinyMCE -->

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

<form method="post" action="updateserviceexe.php">
 <p>Service name:
  <input name="txtservicename" type="text" value="<?php echo $service_name; ?>" />

  <!-- Gets replaced with TinyMCE, remember HTML in a textarea should be 
    encoded -->
  <input type="hidden" name="hidid" value="<? echo $row['service_id'];?>" />
 </p>
    <div>

        <!-- Gets replaced with TinyMCE, remember HTML in a textarea should be 
    encoded -->
<div>
  <textarea id="elm1" name="elm1" rows="15" cols="80" style="width:80%">
    <?php echo $fill_block; ?>
  </textarea>
</div>

        <!-- Some integration calls -->
        <a href="javascript:;" onclick="tinyMCE.get('elm1').show();return false;">[Show]</a>
        <a href="javascript:;" onclick="tinyMCE.get('elm1').hide();return false;">[Hide]</a>
        <a href="javascript:;" onclick="tinyMCE.get('elm1').execCommand('Bold');return false;">[Bold]</a>
        <a href="javascript:;" onclick="alert(tinyMCE.get('elm1').getContent());return false;">[Get contents]</a>
        <a href="javascript:;" onclick="alert(tinyMCE.get('elm1').selection.getContent());return false;">[Get selected HTML]</a>
        <a href="javascript:;" onclick="alert(tinyMCE.get('elm1').selection.getContent({format : 'text'}));return false;">[Get selected text]</a>
        <a href="javascript:;" onclick="alert(tinyMCE.get('elm1').selection.getNode().nodeName);return false;">[Get selected element]</a>
        <a href="javascript:;" onclick="tinyMCE.execCommand('mceInsertContent',false,'<b>Hello world!!</b>');return false;">[Insert HTML]</a>
        <a href="javascript:;" onclick="tinyMCE.execCommand('mceReplaceContent',false,'<b>{$selection}</b>');return false;">[Replace selection]</a>

        <br />
        <input type="submit" name="save" value="Submit" />
        <input type="reset" name="reset" value="Reset" />
    </div>
</form>
<br>
<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>

这是我的PHP代码

<?php
//session_start();
include('../conn/openconn.php');
if(isset($_POST['save'])) {

    $id = $_POST['hidid']; 
    $servicename = $_POST['txtservicename'];
    $contents = $_POST['elm1'];

    $updateuser = "UPDATE service SET 
                   service_name = '$servicename',
                   contents = '$contents'
                   WHERE service_id = '$id'";
        mysql_query($updateuser) or die (mysql_error());

         header("Location:viewserviceupdate.php?alert=Success");
}

?>

1 个答案:

答案 0 :(得分:0)

更改下面的更新语句 -

"UPDATE service SET 
               service_name = $servicename,
               contents = $contents
               WHERE service_id = $id"

在这里,我删除了围绕变量的单引号。

注意:

请停止使用MySQL_query()。自PHP 5.5.0起,此扩展已弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展。