2012-03-03 66 views
2

我有这种情况,我不知道为什么它不工作。我敢打赌,这很简单,但我无法找到解决方案。从其他函数返回的mysql_query不工作?

这是第一个文件:

$result = query("SELECT name FROM table WHERE something=1 LIMIT 1"); 
$row = mysql_fetch_row($result); 
echo $row[0]; 

这是从第二个文件查询功能:

function query($query){ 
    return mysql_query($query) or die (mysql_error()); 
} 

错误我得到的是:

mysql_fetch_row() expects parameter 1 to be resource, boolean given 

@行,其中

$row = mysql_fetch_row($result); 

是。

所以,很简单,这是为什么不这样工作,并且工作时我更换

$result = query("SELECT name FROM table WHERE something=1 LIMIT 1"); 

$result = mysql_query("SELECT name FROM table WHERE something=1 LIMIT 1"); 
+0

如果你在这两种情况下使用var_dump($ result),你会得到什么? – MyStream 2012-03-03 02:19:14

+0

是的,他们在其中有变量,但传递后我回应$查询,它很好。还有其他问题,我不知道为什么和如何,但我已经解决了。 – 10robinho 2012-03-03 02:27:42

+1

F .... F .... S .. – 2012-03-03 02:31:24

回答

2

更改query功能

function query($query){ 

    $result = mysql_query($query); 
    if ($result === FALSE){ 
     die(mysql_error()); 
    } 
    return $result; 
} 
0

当我第一次开始编程时,我经常遇到这个错误。我会得到这个最典型的原因是因为数据库连接没有被初始化,或者因为我调用了错误版本的mysql/sql/mysqli。除此之外,确保在查询中拼写正确无误是关键。

我会做的测试之一是将我的查询与一组实际值进行比较,然后在phpmyadmin中运行并查看它是否成功。如果是这样,这可能是由于缺乏适当的db连接。

+0

是的,我经历了所有这些,我不是一个真正的初学者,只是非常罕见的错误让我困惑。 – 10robinho 2012-03-03 02:39:51