2013-04-23 2 views
-4

Может ли кто-нибудь мне помочь?PHP - я не могу обновить свою базу данных

Кажется, я не могу обновить свою базу данных, используя этот код, который я сделал.

Я не знаю, что не так.

Я хочу обновить всю строку указанного идентификатора, показывая старые данные в форме.

Как это исправить?

<?php //upd_emp.php 

    mysql_connect ("localhost", "root","") or die (mysql_error()); 
    mysql_select_db ("emp_db0"); 
    $id =$_POST['emp_idn']; 

    $result = mysql_query("SELECT * FROM emp_tbl WHERE emp_id = '$id'"); 
    $test = mysql_fetch_array($result); 
    if (!$result) 
    { 
    die("Error: Data not found.."); 
    } 
      $fname=$test['fname'] ; 
      $mname= $test['mname'] ;      
      $lname=$test['lname'] ; 
      $email=$test['email'] ; 

    if(isset($_POST['SAVE'])) 
    { 
$f_save = $_POST['f_name']; 
$m_save = $_POST['m_name']; 
$l_save = $_POST['l_name']; 
$e_save = $_POST['e_mail']; 

mysql_query("UPDATE emp_tbl SET fname ='$f_save', mname ='$m_save', 
    lname ='$l_save',email ='$e_save' WHERE emp_id = '$id'") 
      or die(mysql_error()); 
echo "Saved!"; 


    } 

    ?> 

    <form action = "upd_emp.php" method="post"> 

      First Name:<input type="text" name="f_name" value="<?php echo $fname ?>"/> 
      Middle Initial:<input type="text" name="m_name" value="<?php echo $mname ?>"/> 
      Last Name:<td><input type="text" name="l_name" value="<?php echo $lname ?>"/> 
      Email Add:<input type="text" name="e_mail" value="<?php echo $email ?>"/> 
      <input type="submit" name="save" value="SAVE" /> 

    </form> 



This code here at top came from a form page after clicking the submit button "view.php" 
    <?php $id =$_POST['emp_idn']; ?> 
+0

change 'name =" save "' to 'name =" SAVE "' - if (isset ($ _ POST ['SAVE'])) – Waygood

+1

Привет, сначала нужна базовая отладка. Что не так, где именно? Используйте тестовые выходы, чтобы узнать. Кроме того, вы не выполняете правильную проверку ошибок - что вам нужно для полезной информации о том, что пойдет не так. http://php.net/mysql_error –

+1

Кстати, ваши входы НЕ безопасны. Вам необходимо защитить переменные с помощью функции mysql_real_escape_string для предотвращения инъекций SQL. – ibi0tux

ответ

1

Вы используете

$_POST['SAVE'] 

, где, как и в форме его "спасти"

изменить ваш $ _POST

в

$_POST['save']; 
+0

Правильно, но разве было бы бесконечно более полезно научить OP, как самостоятельно отлаживать такие вещи? –

+2

Правда, но иногда есть новые пчелы, которые очень новы для PHP/Coding для них, такое подробное описание будет полезно, чтобы они могли иметь в виду, когда они его реализуют. –

+0

Ну, они все еще не узнают ничего полезного. Они просто вернутся в Stack Overflow в следующий раз, когда у них возникнет проблема. Не сказать, что это плохой ответ - я сам дал такие ответы. Они просто не помогают OP развиваться как программист. –

0

Изменение этого ниже условия

if(isset($_POST['SAVE'])) 

К этому

if(isset($_POST['save'])) 

Вы сделали ошибку, чтобы принять имя кнопки отправки.

Смежные вопросы