2016-01-04 4 views
-3

По какой-то причине он не будет обновляться, вместо этого он будет добавлять новые данные. Я новичок, и мне трудно найти ошибку.Ошибка обновления SQL. Вместо обновления, его добавление

Функция чтения работает очень правильно, а вставки также прекрасно работают. Это просто обновление, которое не работает должным образом или вставляет вместо обновления запроса или данных.

<?php include "db.php"; ?> 
<?php include "functions.php" ?> 
<?php 
    if(isset($_POST['submit'])) 

    {$username = $_POST['username']; 

     $password = $_POST['password']; 

     $id = $_POST['id']; 

     $querys = "UPDATE users SET "; 

    $querys .= "username = '$username', "; 

    $querys .= "password = '$password' "; 

    $querys .= "WHERE id = $id "; 


    $result = mysqli_query($connection, $querys); 

    if(!$result) 
     { 
      die('Query FAILED'. mysqli_error($connection)); 
     } 
    } 

    ?> 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 
    <link rel="stylesheet" 
     href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css 
     "> 
    </head> 
    <body> 
    <div class="container"> 
     <div class="col-xs-6"> 
     <form action="login_create.php" method="post"> 
      <div class="form-group"> 
      <label for="username">Username</label> 
      <input type="text" name="username" class="form-control"> 
      </div> 
      <div class="form-group"> 
      <label for="password">Password</label> 
      <input type="password" name="password" class="form-control"> 
      </div> 
      <div class="form-group"> 
      <select name="id" id=""> 
      <?php 
       showAllData(); 
       ?> 
      </select> 
      </div> 
      <input class="btn btn-primary" 
      type="submit" name="submit" value="Update"> 
     </form> 
     </div> 
    </div> 
    </body> 
</html> 

Благодарим за помощь.

+2

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

+0

Затем вы должны вызывать неправильный скрипт из вашего тега '

'. Это выглядит вполне вероятно, так как эта форма имеет 'action =" login_create.php ", может быть, это должно быть' action = "login_update.php" ' – RiggsFolly

+0

Большое спасибо, похоже, эта проблема, но когда я решил, что она перешла к другой проблема. Я не знаю, как небезопасен сайт, потому что я просто начинающий. Но большое спасибо за головы. –

ответ

-1

привет проверить это небольшой пример для обновления

if(isset($_POST["submit"])) { 

$link=Conect(); 
$id=$_POST["id"]; 
$value1=$_POST["value1"]; 
$value2=$_POST["value2"]; 
$value3=$_POST["value3"]; 
$query = "UPDATE table_name SET field1='".$value1."', 
field2='".$value2."', 
"."field3='".$value3."' WHERE id='".$id."'"; 
$action =mysql_query($query,$link); 

    $result=mysql_query($query,$link) or die("Error: ".mysql_error()); 
    echo "was update the code: ".$id; 

} 

и удачи

+0

Это, как представляется, является общей версией оператора обновления, уже показанного в вопросе, и поэтому не отвечает на вопрос. Кроме того, как и вопрос, это плохой код, который чрезвычайно уязвим для атак SQL-инъекций. –

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