为什么这些查询没有做任何事情?

时间:2013-04-10 23:21:52

标签: php mysql

function up(){ 
    $name = $_REQUEST['name'];
    $result = mysqli_query("SELECT pos FROM ladder WHERE name = $name");
    $pos = mysql_result($result, 0);
    mysqli_query("UPDATE ladder SET pos=$pos WHERE pos=$pos-1");
    mysqli_query("UPDATE ladder SET pos=$pos-1 WHERE name=$name");
} 

function down(){ 
    $name = $_REQUEST['name'];
    $result = mysqli_query("SELECT pos FROM ladder WHERE name = $name");
    $pos = mysql_result($result, 0);
    mysqli_query("UPDATE ladder SET pos=$pos WHERE pos=$pos+1");
    mysqli_query("UPDATE ladder SET pos=$pos+1 WHERE name=$name");
}

我收到以下错误:

  

警告:mysqli_query()需要至少2个参数,第16行/home/a1240711/public_html/default.php中给出的参数为1

     

警告:mysql_result():提供的参数不是第17行/home/a1240711/public_html/default.php中的有效MySQL结果资源

     

警告:mysqli_query()需要至少2个参数,第18行/home/a1240711/public_html/default.php中给出的参数为1

所有错误都是指down()函数中的行。为什么它不关心up()函数,它们几乎相同。

如果有人能纠正这个问题,我会很高兴,因为我已经忘记了所有关于PHP和MySQL的事情,我只是在做一个简单的小网站。

编辑:这可能会正常工作。我刚刚意识到地址栏中仍然有类似?run=down的内容,它运行down函数而没有参数。

1 个答案:

答案 0 :(得分:1)

虽然mysql_query默认为上次打开的连接,但mysqli_query要求您传递对连接资源的引用。

另外,消毒。 xkcd