Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数据库中的信息未更新_Php_Mysql - Fatal编程技术网

Php 数据库中的信息未更新

Php 数据库中的信息未更新,php,mysql,Php,Mysql,又是我。我保证这一次之后我不会再打扰你了!:) 我有一个评分系统,允许用户对文章进行评分。这是有点工作,但问题是它没有更新数据库中的数据,我不知道为什么。任何帮助都将不胜感激。:) //连接到您的数据库 mysql_connect(“URL”、“用户名”、“密码”)或die(mysql_error()); mysql_选择_db(“db_name”)或die(mysql_error()); //然后,我们更新投票信息,将1添加到总投票中,并将他们的投票(1、2、3等)添加到总评分中 如果(iss

又是我。我保证这一次之后我不会再打扰你了!:)

我有一个评分系统,允许用户对文章进行评分。这是有点工作,但问题是它没有更新数据库中的数据,我不知道为什么。任何帮助都将不胜感激。:)

//连接到您的数据库
mysql_connect(“URL”、“用户名”、“密码”)或die(mysql_error());
mysql_选择_db(“db_name”)或die(mysql_error());
//然后,我们更新投票信息,将1添加到总投票中,并将他们的投票(1、2、3等)添加到总评分中
如果(isset($_提交['投票]){
mysql_查询(“更新投票集总计=总计+$voted,投票数=投票数+1,其中id=$id”);
Echo“您的选票已投下”;
} 
//将SQL数据放入数组中
$data=mysql_query(“SELECT*FROM vote”)或die(mysql_error());
//现在我们遍历所有数据
而($ratings=mysql\u fetch\u数组($data))
{ 
//这将输出站点名称
Echo“Name:”.$ratings['Name']。“
”; //这将计算站点排名,然后将其输出-四舍五入到小数点后1位 $current=$ratings['total']/$ratings['vows']; 回声“电流额定值:。圆形($Current,1)。”
”; //这将创建5个链接,为每个特定项目投票1、2、3、4或5级 回声“排名我:”; Echo“|”;//HREF之前是“$\u服务器['PHP_SELF']” 回声“|”; 回声“|”; 回声“|”; 回声“”; } ?>
谢谢大家!:)

把这条线放回去

if(isset($_submit['voted'])) { 
 mysql_query ("UPDATE vote SET total= total+$voted, votes = votes+1 WHERE id = $id"); 

       echo "Your vote has been cast <p>"; 
        } 
if(isset($_submit['voated']){
mysql_查询(“更新投票集总计=总计+$voted,投票数=投票数+1,其中id=$id”);
echo“您的选票已投下”;
} 
用这个

if(isset($_POST['voted'])) { 
 mysql_query ("UPDATE vote SET total= total+$voted, votes = votes+1 WHERE id = $id"); 

        echo "Your vote has been cast <p>"; 
        } 
if(isset($_POST['voted']){
mysql_查询(“更新投票集总计=总计+$voted,投票数=投票数+1,其中id=$id”);
echo“您的选票已投下”;
} 

php中没有$\u SUBMIT超全局变量

使用
$\u POST
$\u GET

     //Then we update the voting information by adding 1 to the total votes and adding their vote (1,2,3,etc) to the total rating  
 if(isset($_GET['voted'])) { 
 mysql_query ("UPDATE vote SET total= total+$_GET['voted'], votes = votes+1 WHERE id = $_GET['id']"); 

        Echo "Your vote has been cast <p>"; 
        } 

如果仍然存在问题,请使用
mysql\u error()

或者回显查询并在本地数据库中运行它

然后和我们分享你的错误


不要使用mysql,因为它们已被删除。*

您应该使用
$\u GET

     //Then we update the voting information by adding 1 to the total votes and adding their vote (1,2,3,etc) to the total rating  
 if(isset($_GET['voted'])) { 
 mysql_query ("UPDATE vote SET total= total+$_GET['voted'], votes = votes+1 WHERE id = $_GET['id']"); 

        Echo "Your vote has been cast <p>"; 
        } 
//然后我们更新投票信息,在总投票数中添加1,并在总评分中添加他们的投票(1、2、3等)
如果(isset($_GET['voated']){
mysql_查询(“更新投票集总计=总计+$\u获取['voated'],投票数=投票数+1,其中id=$\u获取['id']);
Echo“您的选票已投下”;
} 

首先:使用
$\u GET['voted']
而不是
$\u submit['voted']

此外,你建立的链接是错误的。改变

 Echo "<a href='index.php?site=kumu'?mode=vote&voted=1&id=".$ratings['id'].">1</a> | "; //The HREF was ".$_SERVER['PHP_SELF']." before
 Echo "<a href='index.php?site=kumu'?mode=vote&voted=2&id=".$ratings['id'].">2</a> | "; 
 Echo "<a href='index.php?site=kumu'?mode=vote&voted=3&id=".$ratings['id'].">3</a> | "; 
 Echo "<a href='index.php?site=kumu'?mode=vote&voted=4&id=".$ratings['id'].">4</a> | "; 
 Echo "<a href='index.php?site=kumu'?mode=vote&voted=5&id=".$ratings['id'].">5</a><p>"; 
Echo“|”//HREF之前是“$\u服务器['PHP\u SELF']”
回声“|”;
回声“|”;
回声“|”;
回声“”;

Echo“|”//HREF之前是“$\u服务器['PHP\u SELF']”
回声“|”;
回声“|”;
回声“|”;
回声“”;
更新

替换该声明:

 if(isset($_submit['voted'])) { 
 mysql_query ("UPDATE vote SET total= total+$voted, votes = votes+1 WHERE id = $id"); 

        Echo "Your vote has been cast <p>"; 
        } 
if(isset($_submit['voated']){
mysql_查询(“更新投票集总计=总计+$voted,投票数=投票数+1,其中id=$id”);
Echo“您的选票已投下”;
} 
与:

if(isset($\u GET['voted'])和&is_numeric($\u GET['voted']){
mysql_查询(“更新投票集总计=总计+”$_-GET['voated']。”,投票数=投票数+1,其中id=“.$_-GET['id']);
Echo“您的选票已投下”;
} 

当然,为了防止任何SQLInjection,必须进行更好的参数验证和转义。

本地主机中mysql的默认用户名和密码是root。在
total+$voted,
中,什么是
total
?尝试将
$\u submit['voted']
更改为
$\u POST['voted']
检查您的
$id
是否存在或存在。尝试了$\u提交和$\u发布。数据库中有id。在哪里声明$id变量?它不会更改任何内容。它不是从数据库中提取id吗?我有一个带有变量ID、name、total、voces的表。请尝试像这样回显您的查询$query=“更新投票集total=total+$voated,voces=voces+1,其中ID=$ID”;echo$query;出口首先回应这个问题,然后你意识到你的错误,放松点。对于调试,必须使用echo$变量;对于数组,必须使用print\r($variable);我现在给答案加1,即使我没有给评论加1;)嘿,伙计!试过了,现在它告诉我:注意:未定义变量:在第11行的/home/kall0467/public_html/svale_rejser/vote.php中投票注意:未定义变量:在第11行的/home/kall0467/public_html/svale_rejser/vote.php中id您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第行“投票数=投票数+1,其中id=”附近使用的正确语法1@user2983295这意味着你的问题已经解决了。:)现在检查$id的来源以及为什么它是空的。我对数据库和PHP非常陌生,很抱歉我的愚蠢,但是我在数据库中有变量id和变量投票。我是否也必须在代码中的某个地方定义它们?是的,为了在服务器端使用变量,它们应该被发送到服务器端,所以我的意思是,在处理过程中,服务器应该可以使用$id。您是否从任何输入类型、任何形式获取id?共享您的htmlNope。我想我错过了HTML部分。我实际上遵循了本教程,并对其进行了一些编辑(删除了cookies内容,并更改了标题和href):当我更改它时,它会这样说:注意:未定义变量:第11行的/home/kall0467/public\u html/svale\u rejser/vote.php中投票注意:未定义变量:第11行的/home/kall0467/public\u html/svale\u rejser/vote.php中的id您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解可在“v”附近使用的正确语法
 Echo "<a href=index.php?site=kumu&mode=vote&voted=1&id=".$ratings['id'].">1</a> | "; //The HREF was ".$_SERVER['PHP_SELF']." before
 Echo "<a href=index.php?site=kumu&mode=vote&voted=2&id=".$ratings['id'].">2</a> | "; 
 Echo "<a href=index.php?site=kumu&mode=vote&voted=3&id=".$ratings['id'].">3</a> | "; 
 Echo "<a href=index.php?site=kumu&mode=vote&voted=4&id=".$ratings['id'].">4</a> | "; 
 Echo "<a href=index.php?site=kumu&mode=vote&voted=5&id=".$ratings['id'].">5</a><p>"; 
 if(isset($_submit['voted'])) { 
 mysql_query ("UPDATE vote SET total= total+$voted, votes = votes+1 WHERE id = $id"); 

        Echo "Your vote has been cast <p>"; 
        } 
 if(isset($_GET['voted']) && is_numeric($_GET['voted'])) { 
 mysql_query ("UPDATE vote SET total= total+ " . $_GET['voted'] . ", votes = votes+1 WHERE id = " . $_GET['id']); 

        Echo "Your vote has been cast <p>"; 
        }