MySQLi返回的项目少于phpmyadmin终端

MySQLi返回的项目少于phpmyadmin终端,php,mysql,mysqli,phpmyadmin,Php,Mysql,Mysqli,Phpmyadmin,我试图使用PHP代码从一个简单的数据库中获取内容,但我遇到了一些问题:( 因此,每当我运行下面的代码时,它只返回两行数据(不按顺序,我找不到其中的任何逻辑)。另一方面,如果我在phpmyadmin SQL终端上使用完全相同的SQL查询,它将返回所有行,没有问题 我正在url中传递参数“v:graph th.php?v=4bd33036b221c9b69f13d9d0 代码如下: <?php include "db.php"; $venue = $_GET['

我试图使用PHP代码从一个简单的数据库中获取内容,但我遇到了一些问题:(

因此,每当我运行下面的代码时,它只返回两行数据(不按顺序,我找不到其中的任何逻辑)。另一方面,如果我在phpmyadmin SQL终端上使用完全相同的SQL查询,它将返回所有行,没有问题

我正在url中传递参数“v:graph th.php?v=4bd33036b221c9b69f13d9d0

代码如下:

<?php
        include "db.php";
        $venue = $_GET['v'];
        $result = mysqli_query($dbhandle,   "SELECT * 
                                            FROM temperatures 
                                            WHERE local='$venue'
                                            ORDER BY `temperatures`.`date` DESC"
        );
        echo mysqli_num_rows($result) . "-----";
        while($row = mysqli_fetch_array($result)){
             echo $row['date'] . ", ";
        }
        mysqli_close($dbhandle);
    ?>

首先,您的代码容易受到SQL注入的攻击。在将其插入查询之前,请先退出
$venue
。其次:代码似乎很好:可能
v
包含任何特殊字符,如
%
?(%20在URL中将成为代码/查询中的空白。)@dognose我将该行更改为
$venue=mysqli\u real\u退出字符串($dbhandle,$\u GET['v']);
但什么也没发生。
v
没有特殊的字符或空格,只有nums和字母。好吧!你可以说我很愚蠢。我连接到了错误的数据库。谢谢你的帮助和耐心。转义不是避免SQL注入的充分方法;因为你使用的是MySQLi(这是件好事),使用应该是一种更合适的方式。感谢你们两位超越我的问题,帮助我保护我的代码。我肯定会更深入地了解你们所说的内容!:)