[英]PHP: MySQL Query with fieldname in a var
小问题:使用以下代码...
<?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中的字段?
谢谢您的帮助!
除了使用mysql_fetch_object之外,还可以使用mysql_fetch_assoc 。 它将结果作为数组返回,之后您可以简单地将变量用作键。
我建议在$query_fetched
上使用var_dump
。 某些操作系统和数据库将返回不同的大写字母。 例如,Oracle将始终将列名称作为大写返回。 我已经看到MySQL只在一种情况下返回较低。
您也可以按照Cpt的建议使用fetch_assoc。 eMco,如果未设置阵列键,则会发出警告。 (请记住在生产中关闭警告)。
(我确实需要为PDO类添加一个强制性的插件。我发现它们更加直观和清晰。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.