用php更新mysql数据库

时间:2013-05-29 16:52:40

标签: php mysql

我想更新我的数据库和此代码在另一个表上运行良好,但在这里我有一个错误,我看到这个消息:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第4行的'WHERE id ='588'附近使用正确的语法

<?php
$sel_item = "SELECT * FROM `employees` where id=".$_GET['emp_id'];
$done_item = mysql_query($sel_item);
$get_item = mysql_fetch_array($done_item);

if(isset($_POST['edit']) ){
    $upd= "UPDATE `employees` SET 
    `emp_no`='".$_POST['name']."',
    WHERE `id`='".$_POST['id']."";
    $do_upd = mysql_query($upd) or die(mysql_error());
}
?>


<form action="" method="post" enctype="multipart/form-data">

         <table class="append-row" width="100%" border="0" bgcolor="#006699"  height="60px" align="left" 
        style="padding:0 30px;">
          <tr>

           <td><input type="text" name="name" id="name" placeholder="name"  value="<? php echo $get_item['emp_no'];?>"></td>
          <input type="hidden" name="id" id="id"    value="<?php echo $get_item['id'];?>" >

          <td><input type="submit" name="edit" id="edit" value="edite"></td>    

      </tr>

        </table>

     </form>

4 个答案:

答案 0 :(得分:3)

你错过了UPDATE语句中$ _POST ['id']之后的结束单引号,并且你还有一个在WHERE条件之前不需要的逗号。

尝试:

$upd= "UPDATE `employees` SET `emp_no`='".$_POST['name']."' WHERE `id`='".$_POST['id']."'";

答案 1 :(得分:1)

$upd= "UPDATE `employees` SET `emp_no`='".$_POST['name']."', WHERE `id`='".$_POST['id'].""; 
$do_upd = mysql_query($upd) or die(mysql_error());

你错过了'它应该......

$upd= "UPDATE `employees` SET `emp_no`='".$_POST['name']."', WHERE `id`='".$_POST['id']."'"; 

在'WHERE'之前你也不需要逗号

答案 2 :(得分:1)

删除旧学校的Mysql并使用PDO使您和您的数据库更容易,但问题是WHERE语句之前的逗号。

$sql = $pdo->prepare("UPDATE employees SET emp_no = ? WHERE id = ?");
$sql->execute(array($_POST['name'], $_POST['id']));

作为个人喜好,你不应该使用代字号`来包围你的项目,如果这样你不使用关键字,那么你可能应该重命名你的列/表/数据库。

答案 3 :(得分:0)

emp_no = ' “$ _ POST [ '名称']。”',

逗号正在破坏您的SQL