php mysql update table once

Я хочу обновить таблицу mysql, но только один раз. Если вы хотите обновить его снова, он должен указать сообщение «ID уже в использовании, логин Pls»,

<?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"); } } ?> 

Related of "php mysql update table once"

Я думаю, вы должны сначала добавить еще одно 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()); } 

Должна быть таблица журналов, которая записывает каждое обновление таблиц. Если запись найдена, система должна предотвратить дальнейшее обновление для этой конкретной записи.

  <?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 } } ?> в  <?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 } } ?> 
 <?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» в таблицу базы данных, предложенное г-ном Нео, и замените код кодом выше.