我可以在eval()中执行mysql_query吗?

时间:2011-07-19 22:59:56

标签: php mysql eval

我正在使用的社区构建器需要通过eval()解析php块。我可以在eval中使用mysql_query吗?如果不是,我如何在此eval()中调用数据库中的信息?

到目前为止,这是我的代码:

$iProId = $this->oProfileGen->_iProfileID;
$sCat = mysql_query("SELECT genres from Profiles WHERE ID = ". $iProId);
print_r($sCat);

这给了我:
资源ID#167

3 个答案:

答案 0 :(得分:2)

如果该代码在eval'd时给你那个结果,那么你可以在eval中使用mysql_query,其余的问题归结为你将如何使用该结果集。

在这种情况下,我建议像:

$iProId = $this->oProfileGen->_iProfileID;
$sCat = mysql_query("SELECT genres from Profiles WHERE ID = ". $iProId);
while($row = mysql_fetch_assoc($sCat)) {
    print_r($row);
}

循环遍历结果集中的所有行。如果你想了解更多PHP网站上有关于如何使用mysql_ *函数的所有商品。

答案 1 :(得分:0)

查看mysql_fetch_array(以及其他mysql_fetch_*函数),了解如何从资源中获取数据。

答案 2 :(得分:0)

在eval()中使用查询对我来说听起来很奇怪,但你的代码工作正常。 mysql_query返回一个mysql资源。然后,您需要mysql_fetch_arraymysql_fetch_rowmysql_fetch_assoc来阅读它:

$iProId = $this->oProfileGen->_iProfileID;
$result = mysql_query("SELECT genres from Profiles WHERE ID = ". $iProId);
$sCat = mysql_fetch_assoc($result);
print_r($sCat);