Greest()函数返回未定义的属性 时间:2010-12-03 作者:wpStudent 我正在使用mysqlGREATEST() 函数比较两个表字段,并在循环中显示具有最大整数值的其中一个字段。这两个字段由职位的投票分数组成:上升或下降。function vote_results($post_id) { global $wpdb; $table = $wpdb->prefix . "post_votes"; $results = $wpdb->get_row( "SELECT GREATEST (up, down) FROM $table WHERE voted_post_id = $post_id" ); echo $results->up; //echo if highest value echo $results->down; //echo if highest value } 然后在我的循环中调用函数,但得到Notice: Undefined property: stdClass::$up 对于echo $results->up; 同样的通知down. 我不确定我在这里做错了什么。 2 个回复 最合适的回答,由SO网友:TheDeadMedic 整理而成 我想你想用get_var(), 不get_row() - looking at the documentation, MySQL的GREATEST 只返回一个值。$results 将成为最大的价值up 或down).如果你想要最好的up and 最伟大的down, 使用$wpdb->get_row("SELECT GREATEST(up) AS \'up\', GREATEST(down) AS \'down\' ...") SO网友:Denis de Bernardy 同意死亡医学。。。如果你使用best(),请帮自己一个忙,知道你在做什么。当fed int时,它返回一个bigint,并且您的查询没有给结果列任何名称。因此,当您试图访问一个不可用的列时,$wpdb显然会抱怨。:-)我相信您正在寻求:SELECT up - down as total, up, down FROM $table WHERE voted_post_id = $post_id 结束 文章导航