Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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_Sql - Fatal编程技术网

Php 语法错误可以';我看不出问题出在哪里

Php 语法错误可以';我看不出问题出在哪里,php,mysql,sql,Php,Mysql,Sql,好的,我正在做一个mysql选择,如果没有结果,那么我们将插入它,如果有结果,我们将更新它,但我得到 分析错误:语法错误,意外的T_变量 这是我的全部代码 $query = mysql_query("SELECT * from new_battles WHERE player1='".$_SESSION['username']."'"); if(mysql_num_rows($query)!=0) {# If row already exists, then update it. $resul

好的,我正在做一个mysql选择,如果没有结果,那么我们将插入它,如果有结果,我们将更新它,但我得到 分析错误:语法错误,意外的T_变量

这是我的全部代码

$query = mysql_query("SELECT * from new_battles WHERE player1='".$_SESSION['username']."'");
if(mysql_num_rows($query)!=0)
{# If row already exists, then update it.

$result2 = mysql_query("UPDATE new_battles SET player1 = '"$_SESSION['username']"' AND player2 = '"$_SESSION['vsuser']"' 
AND onpokemonplayer1 = '1'  AND onpokemonplayer2 = '1'  WHERE player1 = '"$_SESSION['username']"' ")
or die(mysql_error());
}
else
{# If row doesn't exist, then insert row.
$result = mysql_query("INSERT INTO new_battles (player1, player2,onpokemonplayer1,onpokemonplayer2) VALUES('"$_SESSION['username']"', '"$_SESSION['vsuser']"' , '1', '1')")
or die(mysql_error());
}

它说错误在mysql更新位上。。。可能我使用了许多and的???

您忘记了在查询中连接变量的

$result2 = mysql_query("UPDATE new_battles
            SET player1 = '".$_SESSION['username']."',
            player2 = '".$_SESSION['vsuser']."',
            onpokemonplayer1 = '1',
            onpokemonplayer2 = '1'
            WHERE player1 = '".$_SESSION['username']."' ") or die(mysql_error());

编辑:如评论中所述,您的更新查询是错误的,要更新多个字段,您需要用逗号分隔它们,而不是和。

每个语法错误都必须处理:


更新不更新不起作用它用0更新表当更新查询出错时,这不是您原来的问题。我更新了答案,你需要分开一列用逗号更新,不是,我不确定功能,我只是说语法错误!PHP的未来版本正在弃用并删除
mysql\uuz
函数系列。现在将是一个很好的时间,或。
<?php
$query = mysql_query("SELECT * from new_battles WHERE player1='".$_SESSION['username']."'");
if(mysql_num_rows($query)!=0){# If row already exists, then update it.

    $result2 = mysql_query("UPDATE new_battles SET player1 = '".$_SESSION['username']."' AND player2 = '".$_SESSION['vsuser']."' 
    AND onpokemonplayer1 = '1'  AND onpokemonplayer2 = '1'  WHERE player1 = '".$_SESSION['username']."' ")
    or die(mysql_error());
}else{# If row doesnt exist, then insert row.
    $result = mysql_query("INSERT INTO new_battles (player1, player2,onpokemonplayer1,onpokemonplayer2) VALUES('".$_SESSION['username']."', '".$_SESSION['vsuser']."' , '1', '1')") or die(mysql_error());
}?>