反投票php

时间:2015-10-18 17:26:12

标签: php html mysql

大家好我的Php代码加1表投票....而evey成员曾投票......

我的代码

while($rows=mysql_fetch_array($result)){
<div id="poll">
<form action="poll_vote.php" method="post" >
<? echo $rows['id']; ?>
<input type="radio" name="vote" value="1" ><? echo $rows['name']; ?>
<input value="<? echo $rows['id']; ?>"  type="radio" select="yas"name="id"/> 
<input value="0"  type="hidden"  name="list_n" /> 
</div>
}

--- poll_vote.php ---

 if ( isset($_REQUEST['vote']) && ($_REQUEST['id'])){
$a = $_REQUEST['vote'];
$id = $_REQUEST['id'] ; 
$res= mysql_query("SELECT * FROM table WHERE id ='$id'"); }    
if (  isset($_REQUEST['vote']) && ($_REQUEST['id'])){
$list_n = $_REQUEST['list_n'];
$_REQUEST['vote'] = $a;
$id = $_REQUEST['id'] ; 
$sql  = "UPDATE tabel SET $list_n='$a' WHERE id='$id' ";
$res =mysql_query($sql) or die ("خطااا".mysql_error());  } 
if(isset($_REQUEST['vote']) && ($_REQUEST['id'])){
echo "<script type='text/javascript'>alert('ok')</script>";
}

出现的错误是  SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以便在&#39; 0 =&#39; 1&#39; 0附近使用正确的语法。在哪里id =&#39; 7&#39;&#39;在第1行

1 个答案:

答案 0 :(得分:2)

您正在使用变量作为列名。

您的变量$list_n为0,$a为1,因此在您的查询中,$list_n='$a'变为0='1'。然后将0解释为列名,这是无效的 而不是查询中的$list_n,而是使用您为该列命名的任何内容。 (也许你只需要list_n,而没有$?)

一些不相关的建议:缩进代码。你的代码很难阅读,因为一切都是从一行的开头开始的,这使得代码很容易迷失。
而不是像

那样的东西
if ($foo == 'bar') {
if (baz()) {
do_stuff();
}
}

考虑写作

if ($foo == 'bar') {
    if (baz()) {
        do_stuff();
    }
}
相关问题