无法从php更新mysql中的数据

时间:2014-09-20 03:01:40

标签: php mysql

这是我的admin_edit.php代码。我已经检查过别人的php文件,发现没问题。此代码没有错误,但无法更新数据库中的数据。

<?php require_once('header.php'); ?>
<?php
if($_GET && !$_POST)
{
if(isset($_GET['id']) && is_numeric($_GET['id']))
{
    $id = $_GET['id'];
}
else
{
    $id = NULL;
}

if($id)
{
    $sql    = "SELECT * FROM tb_admin WHERE id_admin=$id";
    $query  = mysql_query($sql) or die(mysql_error());
    $hasil  = mysql_fetch_array($query) or die(mysql_error());
}
}
elseif($_POST)
{

$id = $_POST['id_admin'];
$nama = $_POST['nama'];
$username  = $_POST['username'];
$password = md5($_POST['password']);

if($nama=='' || $username=='' || $password=='')
{
    $error = 'Nama, Username dan Password diisi tidak boleh kosong';
}
else

    {
        $sql = "UPDATE tb_admin SET nama='$nama', username='$username', password='$password' WHERE id_admin='$id'";
        mysql_query($sql) or die(mysql_error());
        $_SESSION['PESAN'] = 'Berhasil merubah user !';
        refresh('admin.php');   
    }
}
?>

<form method="post" action="" enctype="multipart/form-data">
<fieldset>
    <legend> Ubah Admin </legend>
    <?php if(isset($error)) echo '<div class="control-group"><div class="alert alert-error">'.$error.'</div></div>';
     ?>
    <div>
            <label for="nama">Nama</label>
            <input id="nama" name="nama" class="span4" type="text" required="required" value="<?php echo $hasil['username']; ?>"/>
        </div>
    <div>
          <label for="username">Username</label>
          <input id="username" name="username" type="text" required="required" value="<?php echo $hasil['username']; ?>"/>
        </div>
    <div>
            <label for="password">Password</label>
            <input id="password" name="password" class="wide" type="password" required="required" value=""/>
        </div>

    <div class="form-actions">           

<button type="submit" name="submit" class="btn btn-primary" value="Edit">Simpan</button>

<button type="button" class="btn" onclick="javascript: if(confirm('Anda yakin untuk batal ?')) window.location.href='admin.php'; else return false; ">Batal</button>

<input name="id" type="hidden" value="<?php if(isset($_POST['id'])) echo $_POST['id']; else echo $hasil['id_admin'];?>">
    </div>
</fieldset>
</form>
<?php require_once('footer.php'); ?>

我研究了这个问题差不多半天,但没有找到解决办法。抱歉我的英语不好。

1 个答案:

答案 0 :(得分:2)

您使用name="id"代替name="id_admin"以及$_POST['id']
而不是$_POST['id_admin']

更改

<input name="id" type="hidden" value="<?php if(isset($_POST['id'])) echo $_POST['id']; else echo $hasil['id_admin'];?>">

<input name="id_admin" type="hidden" value="<?php if(isset($_POST['id_admin'])) echo $_POST['id_admin']; else echo $hasil['id_admin'];?>"> 

您的WHERE条款取决于它。

WHERE id_admin='$id'