我想使用php,nip = identity employee编辑数据。在我的数据库nip(varchar)中。我无法使用此代码进行编辑。但如果我将varchar更改为(int),此代码可以编辑我的数据。如何使用数据类型varchar编辑它??
edit.php
<?php include "koneksi.php";
mysql_query("UPDATE pegawai SET
nip='$_POST[nip]',
nama='$_POST[nama]',
tempatlahir='$_POST[tempatlahir]',
tanggallahir='$_POST[tanggallahir]',
gender='$_POST[gender]',
alamat='$_POST[alamat]',
tanggalmasuk='$_POST[tanggalmasuk]',
jabatan='$_POST[jabatan]',
foto='$_POST[foto]'
WHERE nip = '$_POST[nip]'"
);
?>
答案 0 :(得分:2)
试试这段代码。
<?php include "koneksi.php";
mysql_query("UPDATE pegawai SET nama='".$_POST['nama']."',
tempatlahir='".$_POST['tempatlahir']."',
tanggallahir='".$_POST['tanggallahir']."',
gender='".$_POST['gender']."', alamat='".$_POST
['alamat']."',tanggalmasuk='".$_POST['tanggalmasuk']."',jabatan='".$_POST['jabatan']."', foto='".$_POST['foto']."' WHERE nip = '".$_POST['nip']."'"); ?>
请勿在更新中设置nip。
答案 1 :(得分:-1)
试试这个:
$query = sprintf("UPDATE pegawai SET
nama='%s',tempatlahir='%s',tanggallahir='%s',gender='%s',alamat='%s',tanggalmasuk='%s',jabatan='%s', foto=''WHERE nip = '%s'",
mysql_real_escape_string($_POST[nama])
mysql_real_escape_string($_POST[tempatlahir])
mysql_real_escape_string($_POST[tanggallahir])
mysql_real_escape_string($_POST[gender])
mysql_real_escape_string($_POST[alamat])
mysql_real_escape_string($_POST[tanggalmasuk])
mysql_real_escape_string($_POST[jabatan])
mysql_real_escape_string($_POST[foto])
mysql_real_escape_string($_POST[nip])
);
// Perform Query
$result = mysql_query($query);
如果nip是一个整数,你也可以在最后一个参数中使用%u。但是,由于SQL注入,请在写入之前验证值。