php mysql更新表一次
我想更新mysql表,但只有一次。如果您想再次更新它,它应该给消息“ID已被使用,请登录”php mysql更新表一次
<?php
If(isset($_POST['login'])){
$Pin=$_GET['pin'];
$ID =$_POST['ID'];
if($Pin!=''){
$result = mysql_query("SELECT * FROM pin WHERE Pin = '$Pin'");
$test = mysql_fetch_array($result);
mysql_query("UPDATE pin SET appid ='$num' WHERE Pin= '$Pin'")
or die(mysql_error());
header("location:compet_applicant.php");
}
}
?>
我想你应该增加一个field
像:number_update
到您的pin
榜第一。默认值为0
首次更新时,它的值为1
,您可以检查该值, 如果它是1
,将会提示ID Already in Use, Pls login
。如果是0
,允许更新
$result = mysql_query("SELECT * FROM pin WHERE Pin = '$Pin'");
$test = array();
while ($row = mysql_fetch_array($result)) {
$test[] = array_map('utf8_encode', $row);
}
if($test["number_update"] == 1) { //Checking already updated
//Notify user that they have already updated
} else {
mysql_query("UPDATE pin SET appid ='$num' WHERE Pin= '$Pin'")
or die(mysql_error());
}
在我的代码示例中显示在哪里放置你的建议以便于理解 –
这是检查更新@Mr Neo的最佳解决方案。但为什么你问我的代码显示#lgbeh ...它不是免费的编码写作服务...尝试你的自我,如果有任何问题,然后问... –
@Mak,我已经尽了全力,甚至粘贴了我的工作代码。此外,这是一个相互学习的地方,而不是一个侮辱或鄙视他人的地方,所以如果你没有提供任何东西,然后让别人给他们的投入,请拨打 –
<?php
if (isset($_POST['login'])) {
$Pin = $_GET['pin'];
$ID = $_POST['ID'];
if ($Pin != '') {
$result = mysql_query("SELECT * FROM pin WHERE Pin = '$Pin'");
$test = array();
while ($row = mysql_fetch_array($result)) {
$test[] = array_map('utf8_encode', $row);
}
if ($test["number_update"] == 1) { //Checking already updated
//Notify user that they have already updated
} else {
mysql_query("UPDATE pin SET appid ='$num',number_update = 1 WHERE Pin= '$Pin'") or die(mysql_error());
}
header("location:compet_applicant.php");
}
}
?>
在数据库表中添加一个多场“number_update”通过新先生的建议,并与上面的代码替换代码。
我已经做了一切正确的事,因为你已经显示,但脚本仍然更新表甚至因为number_update字段已被更新为1,并再次默认为0值 –
请检查$ test [“number_update”]值吗? –
@MrNeo,我该如何检查? '$ test [“number_update”]在表 –
应该有一个记录每个表的更新的日志表。如果该记录发现系统应该阻止该特定记录的进一步更新。
<?php
If(isset($_POST['login'])){
$Pin=$_GET['pin'];
$ID =$_POST['ID'];
if($Pin!=''){
$update_count = mysql_query("SELECT * FROM Audit_Table_Update WHERE Field_name = 'Pin' and field_value='$pin');
if(!mysql_num_rows($update_count)){
$result = mysql_query("SELECT * FROM pin WHERE Pin = '$Pin'");
$test = mysql_fetch_array($result);
mysql_query("UPDATE pin SET appid ='$num' WHERE Pin= '$Pin'")
or die(mysql_error());
mysql_query("INSERT INTO AUDIT_TABLE_UPDATES (TABLE_NAME, FIELD_NAME, FIELD_VALUE,TIME_UPDATED) VALUES('Pin','appid',$num,systemtime)")
or die(mysql_error());
header("location:compet_applicant.php");
} // end if update count
}
}
?>
@Mhammad Muazzam,那么代码检查重复条目并提醒用户该引脚或ID已被使用? –
我提供了提示。你可以自己写下代码。 –
它确实有效。它仍然接受depulicates –
那么,什么问题,任何错误,...? – Naruto
添加另一列,用于标识已被编辑或已编辑的行。 –
您可以使用'lastInsertId();' –