将显示一行的 wpdb 查询结果转换为单个变量(如果重要,请使用简码)
Posted
技术标签:
【中文标题】将显示一行的 wpdb 查询结果转换为单个变量(如果重要,请使用简码)【英文标题】:Turn a wpdb query result that reveals one row into individual variables (using shortcodes if that matters) 【发布时间】:2016-10-05 01:18:35 【问题描述】:关于 *** 的第一篇文章。我关注这个网站很长时间了,通常都能找到我要找的东西。但这让我很困惑。
让我来设置舞台。我正在开发一个网络驱动程序。我有 Wordpress,带有来自优雅主题的 Divi 主题。我正在使用简码插入模块。我是新手(这说明了一切。)
这是我的问题。我运行了一个返回单行结果的 wpdb 查询。
$editresult = $wpdb->get_results ("SELECT `serialnumber`, `batttype`, `cells`, `fullvolts` FROM listbattery WHERE serialnumber = '$serialnumber'", ARRAY_A);
当我对此进行 vardump 时,我得到以下信息。
array(1) [0]=>array(4) ["serialnumber"]=>string(10)"battery #2" ["batttype"]=>string(5) "NiCad" ["cells"]=>string(1) "8"["fullvolts"]=>string(6)"12.125"
话虽如此,我知道查询工作正常。我知道我正在接收信息。我一生都想不通的是如何将每列的结果转换为单独的变量,以便我可以在整个页面中随机插入每个变量。
到目前为止,我已经尝试了大约 8 种不同的方法。我希望你们能帮忙!谢谢!!!
【问题讨论】:
【参考方案1】:你可以循环遍历结果:
foreach($editresult as $result)
$serialnumber = $result['serialnumber'];
$batttype = $result['batttype'];
$cells = $result['cells'];
$fullvolts = $result['fullvolts'];
【讨论】:
【参考方案2】:如果预计只返回一行,可以执行以下操作
$editresult = $wpdb->get_row("SELECT `serialnumber`, `batttype`, `cells`, `fullvolts` FROM listbattery WHERE serialnumber = '$serialnumber'", ARRAY_A);
然后您可以访问返回的值,例如
$editresult['serialnumber']
$editresult['batttype']
$editresult['cells']
$editresult['fullvolts']
或者如果您将ARRAY_A
更改为OBJECT
,您将能够像这样访问这些值
$editresult->serialnumber
$editresult->batttype
$editresult->cells
$editresult->fullvolts
get_results
和 foreach
中没有必要,如 @nanodanger 的回答中所示,如果您总是希望只得到 1 行
【讨论】:
以上是关于将显示一行的 wpdb 查询结果转换为单个变量(如果重要,请使用简码)的主要内容,如果未能解决你的问题,请参考以下文章