2015-12-26 258 views
-3

更新查詢不適用於我,沒有錯誤,但它不起作用 這裏是我的代碼。更新查詢不起作用php

<?php 

     $up=false; 
     if (isset($_POST['update'])) { 
      if (isset($_POST['FullName'])) { 
       $FullName = $_POST['FullName']; 
       mysql_query("UPDATE users SET Full_Name = '$FullName' WHERE User_Name = '$U_N'") or die(mysql_error()); 
      } 

      if (isset($_POST['bd'])) { 
       $bd=$_POST['bd']; 
       mysql_query("UPDATE users SET DateOfBirth = '$bd' WHERE User_Name = '$U_N'") or die(mysql_error()); 
      } 

      $up=true; 
     } 

     if ($up) { 
      echo "<script type='text/javascript'>up()</script>"; 
      echo "<meta http-equiv=refresh content=\"0; URL=pto.php\">";} 
     } 

?> 

這裏是完整的代碼

+1

'$ U_N'定義在哪裏? – Script47

+0

你很容易sql注入。轉義您的帖子值並更改爲mysqli或pdo。 –

+0

你確定沒有錯誤被拋出?嘗試拋出一個「error_reporting(E_ALL);」在腳本的頂部再次檢查(並檢查您的錯誤日誌) – Tim

回答

0

我認爲這個問題是因爲變量沒有被正確地嵌入。

你可以嘗試改變你的查詢嗎?

"UPDATE users SET Full_Name = '{$FullName}' WHERE User_Name = '{$U_N}'" 

或者

"UPDATE users SET Full_Name = '".$FullName."' WHERE User_Name = '".$U_N."'" 

此外,mysql_query已被棄用。你可能想使用mysqli_query

http://php.net/manual/en/function.mysql-query.php

這個擴展在PHP 5.5.0已被廢棄,這是PHP 7.0.0 刪除。相反,應該使用MySQLi或PDO_MySQL擴展。