查询在phpMyAdmin中运行正常,但是0会导致php本身......?

时间:2011-06-16 18:33:51

标签: php mysql sql

有没有人碰巧知道为什么在phpMyAdmin中执行此查询时会为我提供所需的所有数据。

但是当在PHP中以编程方式执行时,它返回0行。

谢谢!

 SELECT `table_schema`, `table_name` 
     FROM `information_schema`.`TABLES` 
     WHERE `Engine`='MyISAM' 
     AND `TABLE_SCHEMA` !='information_schema' 
     AND `TABLE_SCHEMA` !='mysql';

更新

以下是PHP代码的问题。

$query = "SELECT `table_schema`, `table_name` 
    FROM `information_schema`.`TABLES` 
    WHERE `Engine`='MyISAM' AND `TABLE_SCHEMA` !='information_schema' AND `TABLE_SCHEMA` !='mysql'";
$result = mysql_query($query);

echo '--:'.mysql_num_rows($result).':--';
while ($row = mysql_fetch_array($result)) {
    print_r($row);
}

是的,我正在使用双引号......

2 个答案:

答案 0 :(得分:1)

我们需要看到您的PHP代码来帮助您并为您提供更明确的答案,但从SQL查询的外观来看,您可能会遇到反引号和单引号的问题。

尝试删除table_schema,table_name,information_schema,TABLES和所有后引号周围的所有后引号。

之后,在查询字符串周围使用双引号,但在...'information_schema ..',...'mysql'....,和......'MyISAM'周围留下单引号...... 。

让我们知道如何发布并发布您的实际PHP代码以获得更好的帮助。

答案 1 :(得分:1)

了Serhiy,

我也试过这种事情,我注意到phpmyadmin查询字符串与PHP查询字符串不完全兼容。 phpmyadmin,往往会在其查询字符串中添加一些额外的字符。

在PHP查询中尝试类似:

SELECT table_schema, table_name FROM information_schema.TABLES WHERE TABLE_SCHEMA <> 'information_schema' AND TABLE_SCHEMA <> 'mysql'
祝你好运!

ħ