2011-08-08 16 views
0

ここでは、GET関数を使用して他のファイルから取得した値がDeactivateであれば、テーブルのフィールドを2つの値で更新しようとしています.cnf_statusの値を1に更新し、それが有効ならば、cnf_statusの値を0として更新してください。しかし、このコードは動作していません...誰も私にこの問題の解決方法を教えてもらえますか?if条件を使用してテーブルを更新する - PHP - MySQL

<?php 
require_once '../config.php'; 
$id = $_GET['id']; 
$status = $_GET['status']; 


if($status == Deactivate) 
{ 

mysql_query("update user_details set cnf_status='1' where user_id = '$id'"); 
} 
else if($status == Activate) 
{ 
mysql_query("update user_details set cnf_status='0' where user_id = '$id'"); 

} 
?> 
+0

それ以外の場合は、定数として使用されるテキスト、varchar型、列挙型

また、あなたは無効& Activateを引用する必要があります? あなただけのような分野で使用するときにそれらを必要としますかあなたのエラーを提供してください – RiaD

答えて

1

おそらく引用符を忘れましたか?

if($status == "Deactivate") 
{ 
    mysql_query("update user_details set cnf_status='1' where user_id = '$id'"); 
} 
else if($status == "Activate") 
{ 
    mysql_query("update user_details set cnf_status='0' where user_id = '$id'"); 
}

また、SQL注入を避けるためにmysql_real_escape_string()を使用することを検討する必要があります。

$id = mysql_real_escape_string($_GET['id']);
0

通常、Intフィールドには一重引用符を使用しません。それらを削除してください。 Whant手段「を動作していない」ん

+0

ええ、私は知っています。実際には、変更が発生したかどうかを確認するために引用符を取り出しました。しかし、変化はありません。今私は引用符を追加して、もう一度試してみましたが、今でも動作していません – bala

+0

あなたはmysql接続を設定していますか?最後にこれを試してください:echo mysql_errno()。 ":" mysql_error()。 "\ n"; – xXx

関連する問題