Wordpress,从sql数据库获取查询并回显它

时间:2013-01-23 17:32:02

标签: php sql database wordpress

我希望特定用户发布最后修改/创建日期,然后回复它。

我要做的是:

<?php $id = get_the_ID();               

global $current_user;
$current_user = wp_get_current_user();

$postID = $id;  //assigning post id
$userID = $current_user->ID;  // assigning user ID

$sql = "SELECT post_date FROM wp_posts WHERE ID = $postID AND post_author = $userID ORDER BY post_date DESC LIMIT 1";
$userModifiedDate = $wpdb->query($sql);
echo $userModifiedDate; ?>

我的错误在哪里?任何人都可以引导我完成这个吗?

目前$userModifiedDate返回1

1 个答案:

答案 0 :(得分:1)

$wpdb->query()返回受影响的行数,而不是实际的查询结果。

http://codex.wordpress.org/Class_Reference/wpdb#Run_Any_Query_on_the_Database

尝试使用更具体的功能,例如$wpdb->get_var()$wpdb->get_results()

$userModifiedDate = $wpdb->get_var( $sql );

http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Variable

此外,虽然它不是绝对,但我总是希望首先通过$wpdb->prepare()传递任何疑问:

$sql = $wpdb->prepare( "SELECT post_date FROM wp_posts WHERE ID = %d AND post_author = %d ORDER BY post_date DESC LIMIT 1", $postID, $userID );

http://codex.wordpress.org/Class_Reference/wpdb#Protect_Queries_Against_SQL_Injection_Attacks