作者Conanspe (晃‧荡‧穿‧梭)
看板PHP
标题Re: [请益] 有关投票的问题
时间Sun Feb 25 17:02:02 2007
※ 引述《eric770715 (北极熊)》之铭言:
: ※ 引述《Conanspe (晃‧荡‧穿‧梭)》之铭言:
: : 我是用SQL来执行投票的这个动作
: : 我的SQL是这样写的
: : $sql="UPDATE table1 SET counter='counter+1'
: : WHERE name='$_POST['choice']'";
: 应该不能直接这样处理吧!
: 如果是我,我会写成:
: $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'
: 你试试看吧,应该可以了。
: : (这里的name是我投票物的栏位名称)
: : 我在前ㄧ页投票圈选的地方是这样写:
: : <input type =\"checkbox\" name=\"choice\" value=\"$i\">
: : 结果出现这样的错误:
: : Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or
: : `T_NUM_STRING'
: : 想请教一下 该如何解决这个错误呢^^"
恩..我改成你的建议
可是在这个地方
$SQL=mysql_query("SELECT * FROM table1 WHERE name='$_POST['choice']'")or die("\
Error!");
还是出现跟原来一模ㄧ样的 Parse error @@
後来google了ㄧ下
有人建议把$_POST['choice']里的单引号拿掉
果然,这个error就解决了!!
但是...又出现另ㄧ个问题....
目前在执行的时候已经没有任何error了
可是我的资料库里 counter栏位里的counter值都没有增加....@@a
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.140.114.193
1F:推 j87b0003:建议大大,可以把值印出来,然後用sql与去测 02/25 17:08
2F:推 Conanspe:把值印出来 每个值都是1 ,可是原本的值都不是1 @@ 02/25 17:22