我正在尝试使用此查询从数据库中检索字段的文本值:
<input type="text" name="last_link" id="last_link" value="<?php global $wpdb; $user_ID = get_current_user_id(); $result= $wpdb->get_results( 'SELECT last_link FROM users WHERE ID = $user_ID'); echo $result; ?>"
我搜索了很多,但我能找到的只是Class Reference/wpdb
我无法找到我的错误。
答案 0 :(得分:4)
USE $wpdb->get_var('your query')
代替$wpdb->get_results()
我在查询中发现错误,您忘记了从wordpress预定义表中检索信息所需的表前缀。
使用global $table_prefix
和$wpdb
像这样:global $wpdb,$table_prefix
另外,请确保将您的专栏last_link
添加到tableprefix_users
的表格中
根据您的要求,使用下面的代码来检索信息。
<?php
global $wpdb,$table_prefix;
$user_ID = get_current_user_id();
$last_link = $wpdb->get_var('SELECT last_link FROM '.$table_prefix.'users WHERE ID = '.$user_ID);
?>
<input type="text" name="last_link" id="last_link" value="<?php echo $last_link;?>">
如文档
中所述可以从数据库中提取通用的多行结果 的 get_results 即可。该函数将整个查询结果作为数组返回。 此数组的每个元素对应于查询结果的一行 和get_row一样,可以是一个对象,一个关联数组或一个 编号数组。如果找不到匹配的行,或者有匹配的行 数据库错误,返回值将是一个空数组。如果你的 $ query 字符串为空,或者您传递了无效的 $ output_type ,NULL将 被退回。