php-无法执行在phpMyAdmin中工作的mysql
我有这张桌子玩游戏php-无法执行在phpMyAdmin中工作的mysql,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我有这张桌子玩游戏 scores (user,score) 其中包含一些条目,我有以下查询: SET @row_num = 0; SELECT @row_num := @row_num + 1 as row_index, user, score FROM scores ORDER BY score DESC 它可以在phpmyadmin中工作,但不能在php代码中工作 $query = "set @row_num = 0; SELECT @row_num := @row_num + 1 a
scores (user,score)
其中包含一些条目,我有以下查询:
SET @row_num = 0;
SELECT @row_num := @row_num + 1 as row_index, user, score FROM scores ORDER BY score DESC
它可以在phpmyadmin中工作,但不能在php代码中工作
$query = "set @row_num = 0; SELECT @row_num := @row_num + 1 as row_index, user, score FROM scores ORDER BY score DESC";
$result = mysql_query($query) or die(mysql_error());
php已正确连接到mysql数据库,在此之前我还进行了其他查询,一切正常
它说:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT @row_num := @row_num + 1 as row_index, user, score FROM scores ORDER BY s' at line 1
你认为可能是什么?
非常感谢。
Alessandro这是因为phpMyAdmin为您拆分分号上的查询。MySQL服务器不这样做,PHP MySQL扩展也不这样做 您需要将它们分离为两个单独的mysql\u查询调用 旁注:PHP mysql扩展已被弃用,建议您对任何新代码使用PDO或mysqli。请在您未来的开发过程中牢记这一点。首先,mysql\u查询被删除 您不能在一个mysql\u查询调用中运行两个查询 您必须执行以下操作:
$query1= "set @row_num = 0;";
$query2 = "SELECT @row_num := @row_num + 1 as row_index, user, score FROM scores ORDER BY score DESC";
$result1 = mysql_query($query1);
$result2 = mysql_query($query2);
尝试拆分为两个查询:
$query = "set @row_num = 0;";
$query2 = " SELECT @row_num := @row_num + 1 as row_index, user, score FROM scores ORDER BY score DESC;";
$result = mysql_query($query) or die(mysql_error());
$result1 = mysql_query($query2);
好的,我不知道,谢谢,现在我如何选择结果表?好的,我不知道,谢谢,现在我如何选择结果表?好的,我不知道,谢谢,现在我如何选择结果表?你尝试过内部选择吗?我不知道如何进行内部选择,你能给我举个例子吗?代码集@row_num=0;代码SELECT*FROM选择@row\U num:=@row\U num+1作为row\U索引,用户,分数从分数顺序按分数描述计算,其中row\U num=3;我怎样才能做到这一点?从世界人口中选择姓名>从世界人口中选择姓名=‘俄罗斯’;因此,请使用您先前选择的另一个内部条件。或从内部:从SELECT*中选择名称,从name='Russia'所在的世界中选择名称;。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO。
$query = "set @row_num = 0;";
$query2 = " SELECT @row_num := @row_num + 1 as row_index, user, score FROM scores ORDER BY score DESC;";
$result = mysql_query($query) or die(mysql_error());
$result1 = mysql_query($query2);