mysql - 查询仅适用于 PHPMyAdmin

标签 mysql

我正在尝试这个查询:

//connect;

$site = mysql_real_escape_string($_GET['site']);

$data = mysql_query("SELECT * FROM Items WHERE Site = '$site'");

while($row = mysql_fetch_array( $data )) 
    { 
    print $row['type'];
    }

不打印任何内容,正在运行 SELECT * FROM Items WHERE Site = 'http://rollingstone.com/'从 PHPMyAdmin 返回一行。

我确信这一定是非常基本的东西,因为我对 MySQL 没有太多经验。

顺便说一句,我正在这里尝试:http://www.chusmix.com/game/insert/get-items.php?site=http://rollingstone.com/

我做错了什么?

最佳答案

确保$site确实包含某些内容;在 mysql_query() 之前快速执行 echo $site 应该会告诉您这一点。如果为空,请尝试 print_r($_GET) 看看它是否在 $_GET 数组中。应该是,但也可能不是因为其他原因;检查此代码段上方的任何代码是否以任何方式修改 $_GET$_REQUEST

要从 MySQL 表请求数据,您需要使用 mysql_connect() 连接到服务器,然后选择带有 mysql_select_db() 的数据库。 PHP 应该抛出错误,但要确保将这些行放在脚本的顶部:

error_reporting(E_ALL);
ini_set('display_errors', '1');

现在将显示所有错误。

此外,您还可以使用 mysql_num_rows() 测试返回的行数。例如:

if(mysql_num_rows($data) !== false)
{
    while(...)
    {
        ...
    }
}
else
{
    echo "No rows";
}

如果查询没有任何结果,将回显No rows。这是所有错误检测代码;错误原因并不明显,因此需要使用上述方法(以及您能想到的任何其他方法)进行一些调查。

关于mysql - 查询仅适用于 PHPMyAdmin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7296301/

相关文章:

mysql - 尽管主记录为空,LEFT JOIN 应该如何返回值?

mysql - 如何转换以下 JOIN 查询

php - 使用类似 mysql 的查询使用小写或大写获取数据?

php - Prestashop SQL 管理器未按预期工作

mysql - 修改前序树遍历,只检索n层深度?

sql - MySQL 错误代码 : 1005

Mysql更新,选择替换长字符串中的指定字符

mysql - WiFi 信息的数据类型

mysql - SQL有效的方法来查找mobil和mail不在其他表中的行?

php - 是否有一种标准方法来验证 DATETIME 值的格式是否正确以及它是否是有效日期?