2016-03-09 22 views
0

在您標記我的問題之前重複這是我的最後手段。我已嘗試過每種可能的語法沒有錯誤,但我不能更新表,雖然我可以插入表,但不能更新已經存在的內容。 config.php用於與db進行連接。不能更新表使用PHP嘗試每種可能的組合語法

<html> 
    <head> 
     <title> 
      Thank You FOR Entering Data !! 
     </title> 
    </head> 
    <style> 
     div { 
      width:100%; 
      position: absolute; 
      bottom:0; 
     } 
     img { 
      position: relative; 
      display: block; 
      float: right; 
     } 
    </style> 
    <body background="wall.jpg"> 
     <font face="WenQuanYi Micro Hei Mono" color="white"><b> 
      <h1>Thank You For Entering Data</h1> 
      <?php 
      include("config.php"); 
      // Data coming into form via POST 
      if ($_POST) { 
       $empide = $_POST["empid"]; 
       $name = $_POST["name"]; 
       $address = $_POST["address"]; 
       $pnumber = $_POST["pnumber"]; 
       $email = $_POST["email"]; 
       $gender = $_POST["gender"]; 
       if ($con) { 
        echo nl2br("empid= $empide \nNAME = $name\n Address = $address \n Phone Number = $pnumber \n Email = $email \n Gender = $gender "); 
        echo $empide; 
        //$abc=mysqli_query($con,"INSERT INTO `employee` (`name`, `address`, `pnumber`, `email`,`gender`) VALUES ('$name', '$address', '$pnumber', '$email','$gender') ;"); 
        $query = mysqli_query($con, "UPDATE 'employee' SET 'name' = '$name',  'address' = '$address', 'email' = '$email', 'pnumber' = '$pnumber', 'gender' = '$gender' WHERE 'employee'.'empid' = '$empide';"); 
       } else { 
        echo "Unable to make connection with your data base"; 
       } 
      } 
      ?> 
      <right> 
       <div> 
        <a href="index.php"><img src="home.png" width="110" height="110"></a> 
       </div> 
      </right> 
    </body> 
</html> 
+0

打印您的$ CON什麼,它會給你? – RK12

+1

您應該在開發模式下開啓您的error_reporting。 –

+0

不要在表名或列中使用簡單的引號,只能在值中使用! – rray

回答

1

始終使用mysqli_connect_errno()檢測連接錯誤和

使用mysqli_error()檢測查詢錯誤。

編寫代碼如下: -

// check connection 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 
// You have added unnecessary semicolon and simple quote in field name in your query 
$sql = "UPDATE employee SET name = '$name', address = '$address', email = '$email', pnumber = '$pnumber', gender = '$gender' WHERE empid = '$empide'"; 
$result=mysqli_query($con,$sql); 
// $result will give you TRUE or FALSE 
if (!result) { 
    printf("Error: %s\n", mysqli_error($con)); 
}else{ 
    // success 
} 

希望:-)

+0

至少我這次得到了一個錯誤。現在會找到一些方法來糾正錯誤。感謝您順便說一句,這是錯誤錯誤:您的SQL語法錯誤;檢查與您的MariaDB服務器版本相對應的手冊,以便在''employee''附近使用正確的語法SET name ='Guff',address ='h.no 169,Hyd'at line 1 – Guff

+0

@Guff:從表名中刪除單引號。使用員工而不是「員工」。 –

+0

查看此鏈接瞭解更多詳情。 http://www.w3schools.com/php/php_mysql_update.asp –

0

你周圍使用變量單引號它會幫助你。在PHP中,即'$name'它將採用字符串$name而不是變量的值。更新查詢應該是這樣的

$sql = 'UPDATE employee SET name="'.$name.'", address="'.$address.'" WHERE empid="'.$empide.'"';