2013-08-27 83 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 ";