2013-08-27 80 views
1

你好,我實際上有一張表來更新通過PHP/HTML,並沒有線索爲什麼我得到了錯誤「錯誤」(這是我的mysql_query死) 我試過如果我的代碼中的每個變量發送我的update.php,一切都在這裏。所以問題來自我的update.php代碼。PHP更新mysql

這裏是我的更新代碼:

<?php 
    include('config.inc.php'); 
    $idn = $_POST["idn"]; 
    $nom = $_POST['nom']; 
    $prenom = $_POST["prenom"]; 
    $payss = $_POST["pays"]; 

    $req = "UPDATE membres SET prenom = '$prenom' , " 
          ." pays = '$payss' " 
          ." nom = '$nom' , " 
          ." where id = $idn "; 
    $res = mysql_query($req) or die ("error updating!"); 
?> 

謝謝您的回答!

+2

刪除自定義錯誤並把mysql_error。基本上它應該是因爲'SET col = a,col2 = b,WHERE'是無效的語法,WHERE不是一列,它不需要逗號,在第二列之前也需要一個, –

+1

你錯過了逗號在這行'。「付款='$ payss'」',並且在這行中有額外的逗號'。「nom ='$ nom','' – vee

+0

您應該像[手冊] (http://www.php.net/manual/en/function.mysql-query.php),並注意頁面頂部的警告,mysql_ *函數已棄用,不應使用。 – JimL

回答

2
<?php 
include('config.inc.php'); 
$idn=$_POST["idn"]; 
$nom=$_POST['nom']; 
$prenom=$_POST["prenom"]; 
$payss=$_POST["pays"]; 

$req="UPDATE membres SET prenom = '".addslashes($prenom)."' ,pays = '".addslashes($payss)."',nom = '".addslashes($nom)."' where id = '".$idn."'"; 
$res=mysql_query($req) or die ("error updating!"); 
?> 
+0

非常感謝Prasannjit! – user2720263

+0

您的歡迎。我認爲這會對你有用。 – Prasannjit

0

試試這個

$req="UPDATE membres SET prenom = '".$prenom."' , pays = '".$payss."' nom = '".$nom."', where id = ".$idn; 
0
$req="UPDATE membres SET prenom = '$prenom' , pays = '$payss', nom = '$nom' where id = $idn "; 
0

也許?

$req = "UPDATE `membres` SET `prenom` = '".$prenom."', 
     `pays` = '".$payss."' 
     `nom` = '".$nom."' 
     where `id` = ".$idn; 
$res = mysql_query($req) or die ("error updating!"); 
0

試試這個

$req="UPDATE membres SET prenom = $prenom, pays = $payss, nom = $nom where id = $idn "; 
0

我強烈建議,以避免SQL注入的風險用的MySQLi用事先準備好的聲明。

$req = "UPDATE membres 
      SET prenom = ?, 
       pays = ?, 
       nom = ? 
     WHERE id = ?"; 

$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); 
$stmt = $mysqli->prepare($req); 
$stmt->bind_param("sssi", $prenom, $payss, $nom, $idn); 
$stmt->execute(); 
$stmt->close(); 
$mysqli->close(); 
0

查詢中有語法錯誤。在第二參數(在'$ payss'之後)後添加昏迷(「,」)並在條件之前刪除昏迷。 這裏是更新查詢

$req = "UPDATE membres SET prenom = '$prenom' , " 
          ." pays = '$payss', " 
          ." nom = '$nom' " 
          ." where id = $idn ";