小问题:使用以下代码......
<?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?
中的字段感谢您的帮助!
答案 0 :(得分:2)
您可以使用mysql_fetch_assoc,而不是使用mysql_fetch_object。它会将结果作为数组返回,之后您只需将变量用作键即可。
答案 1 :(得分:0)
我建议在var_dump
上使用$query_fetched
。某些操作系统和数据库将返回不同的大写字母。例如,Oracle将始终将列名称作为大写返回。我看到MySQL只在一种情况下返回较低。
您也可以按照Cpt的建议使用fetch_assoc。 eMco,如果没有设置数组键,它会给你警告。 (请记住在生产中关闭警告)。
(我确实需要为PDO类添加一个强制性的插件。我发现它们更加直观和清晰。)