Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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 DOW上的多个查询不起作用_Php_Mysqli - Fatal编程技术网

PHP DOW上的多个查询不起作用

PHP DOW上的多个查询不起作用,php,mysqli,Php,Mysqli,考虑这个简单的PHP页面: <?php $db = new mysqli("localhost", "myuser", "mypwd", "mydb"); if ($db->connect_error) // Dying sequence; // Executing query $qres = $db->multi_query("SET @rank = -1; SELECT * FROM (SELECT @rank := @rank

考虑这个简单的PHP页面:

<?php

  $db = new mysqli("localhost", "myuser", "mypwd", "mydb");
    if ($db->connect_error)
      // Dying sequence;

    // Executing query
    $qres = $db->multi_query("SET @rank = -1; SELECT * FROM (SELECT @rank := @rank + 1 as rank, field1, field2 FROM mytable WHERE field1 = 'value') AS T1 WHERE rank = 2;");
    $db->commit();
    if (!qres) {
      // Problems in query
      // Dying
      $db->close();
      return;
    }
    if (!($qres->num_rows == 1)) {
      // Error fetched
      $numrows = $qres->num_rows;
      $db->close();
      // Dying
      return;
    }

    // Returning
    echo "ALLOK";

    $db->close();

  ?>

看起来您只是想从某个表中选择第三行。尽管排名是不确定的,因为您没有为该内部查询指定
orderby
子句

您不需要这个变量和多个查询来实现这一点

LIMIT
子句中使用偏移量,同时使用
orderby
子句

SELECT field1, field2 FROM mytable WHERE field1 = 'value' ORDER BY something LIMIT 2,1

看起来您只是想从某个表中选择第三行。尽管排名是不确定的,因为您没有为该内部查询指定
orderby
子句

您不需要这个变量和多个查询来实现这一点

LIMIT
子句中使用偏移量,同时使用
orderby
子句

SELECT field1, field2 FROM mytable WHERE field1 = 'value' ORDER BY something LIMIT 2,1
“if(!qres)”可能是致命的打字错误。“if(!qres)”可能是致命的打字错误。