-4

私は unsub.php コードを持っています:

<?php 
include("config.inc.php");
$id=$_REQUEST['id'];
$time=$_REQUEST['t'];
$cid=0;
if(isset($_REQUEST['cid']))
$cid=$_REQUEST['cid']

if($cid==0)
mysql_query("update email_advt set unsubstatus=1 where id=$id AND time=$time");
else
{
if($mysql->total(email_advt","id=$id AND time=$time")>0)
mysql_query("delete from ea_em_n_cat where eid=$id AND cid=$cid");
}

?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<title> Unsubscribe Email</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
Your email has been successfully unsubscribed from our mailing list. <br>
</body>
</html>

そして、このテーブル:

CREATE TABLE IF NOT EXISTS `email_advt` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(250) NOT NULL DEFAULT '',
  `unsubstatus` int(11) NOT NULL DEFAULT '0',
  `time` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

CREATE TABLE IF NOT EXISTS `ea_em_n_cat` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `eid` int(11) NOT NULL DEFAULT '0',
  `cid` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

アクセス時 unsub.php?id=1&t=1360306174&cid=0
表示しない あなたのメールは、メーリングリストから正常に退会されました。
なにが問題ですか ?unsub.php?id=1&t=1360306174&cid=0 にアクセスすると unsubstatus が 1 に設定されない

4

3 に答える 3

0

このクエリを使用してください。バッククォートを逃しました`

mysql_query("update email_advt set `unsubstatus`=1 where `id`=$id AND `time`=$time");
于 2013-02-08T09:55:45.440 に答える
0

組み込み関数を列名として使用している場合は、その関数をグラブ アクセントで囲む必要があります。つまり、クエリtimeで、MySQL の組み込み関数である列を使用しています。

于 2013-02-08T10:03:52.013 に答える
0

ここにエラーがあると思います:

if($mysql->total(email_advt","id=$id AND time=$time")>0)

試す

if($mysql->total("email_advt"," id=$id AND time=$time")>0)

あなたが何を取得しようとしているのか、またはメソッドの引数がよくわかりませんtotal()

于 2013-02-08T10:00:59.597 に答える