繁体   English   中英

PHP:var中具有字段名的MySQL查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM