PHP:带有字段名称的MySQL查询

时间:2010-11-12 15:01:59

标签: php mysql

小问题:使用以下代码......

<?php
$statement = "SELECT * FROM TABLE";
$query_unfetched = mysql_query($statement);
$query_num = mysql_num_rows($query_unfetched);
if ($query_num !== 1) {
    exit;
}
$query_fetched = mysql_fetch_object($query_unfetched);

$fielname = "ID";
echo $query_fetched->$fiedname;
?>

使用此代码,没有输出,因为PHP以某种方式不检查$ fieldname中是否是所选表中字段的现有名称。

为什么它不起作用,我犯了错误?或者是否有其他方法可以选择名称保存在var?

中的字段

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

您可以使用mysql_fetch_assoc,而不是使用mysql_fetch_object。它会将结果作为数组返回,之后您只需将变量用作键即可。

答案 1 :(得分:0)

我建议在var_dump上使用$query_fetched。某些操作系统和数据库将返回不同的大写字母。例如,Oracle将始终将列名称作为大写返回。我看到MySQL只在一种情况下返回较低。

您也可以按照Cpt的建议使用fetch_assoc。 eMco,如果没有设置数组键,它会给你警告。 (请记住在生产中关闭警告)。

(我确实需要为PDO类添加一个强制性的插件。我发现它们更加直观和清晰。)