作者eric770715 (北极熊)
看板PHP
标题Re: [请益] 有关投票的问题
时间Sun Feb 25 17:19:46 2007
※ 引述《Conanspe (晃‧荡‧穿‧梭)》之铭言:
: ※ 引述《eric770715 (北极熊)》之铭言:
: : 应该不能直接这样处理吧!
: : 如果是我,我会写成:
: : $SQL=mysql_query("SELECT * FROM table1 WHERE name='$_POST['choice']'")or die("Error!");
: : $Result=mysql_fetch_array($SQL);
: : $counter=$Result['counter'];
: : $counter=$counter+1;
: : 再来,接你写的部分,不过有做些修改。
: : $sql="UPDATE table1 SET counter='$counter'
: : WHERE name='$_POST['choice']'";
: : 我写一下解说,
: : 首先,我先读出tabl1在name後面的counter,
: : 用变数$counter存起来,并对他做+1的动作,
: : 然後,接上你写的部分,但是我把你本来的
: : counter='counter+1'
: : 改成
: : counter='$counter'
: : 你试试看吧,应该可以了。
: 恩..我改成你的建议
: 可是在这个地方
: $SQL=mysql_query("SELECT * FROM table1 WHERE name='$_POST['choice']'")or die("\
: Error!");
: 还是出现跟原来一模ㄧ样的 Parse error @@
: 後来google了ㄧ下
: 有人建议把$_POST['choice']里的单引号拿掉
: 果然,这个error就解决了!!
因为在name=''两个'中,不能在有'出现,PHP不接受。
: 但是...又出现另ㄧ个问题....
: 目前在执行的时候已经没有任何error了
: 可是我的资料库里 counter栏位里的counter值都没有增加....@@a
上面,有一个\,在Error的前面,那个是我打太长,PTT断航的时候加上去的,请拿掉。
你可以试试看,先把$_POST[choice]拿到上面去做,变成
$choice=$HTTP_POST_VARS['choice'];
$SQL=mysql_query("SELECT * FROM table1 WHERE name='$choice'")
or die("Error!");
这样不知会不会出错,
PS.这次把POST拿到上面去做,(')就不用拿掉了,
之前是因为夹在name=''不能在有其他变数有用到'的字元。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.67.249