2017-02-08 4 views
0

다음 코드에 액세스하려고하는데 불행히도이 스크립트를 성공적으로 실행할 수 없습니다. 항상 업데이트되지 않은 오류가 있습니다. 내 DB에 난 단지 3 필드 ID, 이름, fname 여기 내 코드는 다음과 같습니다.mysqli에서 레코드를 업데이트 할 수 없습니다.

index.php를

<div class="left-box"> 
      <h3>UPDATE</h3> 
      <form action="update.php" method="post"> 
      <select name="choice"> 
        <option value = "action">Update First or Last Name</option> 
        <option value = "fname">First Name</option> 
        <option value = "lname">Last Name</option> 
      </select> 
       <input type="text" name="id" placeholder="Choose ID"><br> 
       <input type="text" name="new_value" placeholder="New Value"><br> 
       <button type="submit" name="submit" value="send">UPDATE</button> 
      </form> 
     </div> 

update.php

<?php 
if(isset($_POST["submit"])){ 
    $choice = $_POST["choice"]; 
    $id = $_POST["id"]; 
    $new_value = $_POST["new_value"]; 
    if($id != "" AND $new_value != "" AND $choice != "") 
    { 
     require('db.php'); 
     $db_connection = connect_db(); 

     $status = update_data($db_connection,$id,$choice,$new_value); 
     if($status) { 
      header("Location: index.php?id=success&v=Updated succesfully"); 
     } 
     header("Location: index.php?id=error&v=Not Updated"); 
    } 
    else { 
     //echo '<script type="text/javascript">alert("hi")</script>'; 
     header("Location: index.php?id=error&v=Error: All Fields Required"); 
    } 
} 
else { 
    header("Location:index.php"); 
} ?> 

db.php를

function connect_db() { 
$con = mysqli_connect("localhost","root","","test"); 
if(!$con){ 
    die("database connection not established"); 
} 
return $con; } 

function update_data($con,$id,$choice,$new_value){ 
$sql=""; 

if($choice == "fname") { 
      $sql = "UPDATE crud SET fname = '$new_value' WHERE id = '$id' "; 
     } 
     else{ 
      $sql = "UPDATE crud SET lname = '$new_value' WHERE id = '$id' "; 
     } 
     $result = mysqli_query($con, $sql); 

     if(mysqli_affected_rows($con)) 
     { 
      return true; 
     } 
     return false; 
} 
+0

이 스크립트를 실행 한 후에 데이터베이스의 필드가 업데이트됩니까? –

+0

아니, 내가 SQL 창에서 쿼리를 확인한 다음 성공적으로 실행했지만 gui가 아닌 –

+0

에코와 함께 PHP 코드를 디버깅하고 오류가 발생하는 행을 찾았습니까? –

답변

-1

쿼리 아래에보십시오.

$sql = "UPDATE crud SET fname = '".$new_value."' WHERE id = $id"; 
$sql = "UPDATE crud SET lname = '".$new_value."' WHERE id = $id"; 
+0

고맙습니다 ... 작동합니다 :) –

+0

@nadygold 환영합니다. –

+0

이 답변은 사기이며 어떤 차이도 없습니다. –