查询自定义表和获取结果时遇到问题。
从Wordpress 3.9开始,我不能再运行mysql\\u query(),必须使用$wpdb->query();
因此,请记住:
旧代码:
<?php
if (!empty($_GET[\'msg\'])) {
global $wpdb;
$vuser_id = $_GET[\'id\'];
$sql = "SELECT * FROM wp_quiz WHERE quiz_id=\'$vuser_id\'";
$query = mysql_query($sql);
$result = mysql_fetch_assoc($query);
$total = $result[\'total_count\'];
 以我认为合适的方式进行更新:
<?php
if (!empty($_GET[\'msg\'])) {
    global $wpdb;
    $vuser_id = $_GET[\'id\'];
    $sql = "SELECT * FROM wp_quiz WHERE quiz_id=\'$vuser_id\'";
    $query = $wpdb->query($sql);
    $result = mysql_fetch_assoc($query);
    $total = $result[\'total_count\'];
 var\\u倾销$结果给我
NULL现在我得到一个错误:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, integer given in  on line 16
我试过使用
$wpbd->get_row($sql); $wpdb->get_results($sql); 全部返回空值。
如果我exit( $sql ); 我可以看到查询正在正确运行SELECT * FROM wp_quiz WHERE quiz_id=\'5925\' 如果我直接将其运行到phpmyadmin中,它会给出正确的结果。
我不确定我做错了什么。
 
                    最合适的回答,由SO网友:Brandon Shutter 整理而成
                    <?php
if (!empty($_GET[\'msg\'])) {
    global $wpdb;
    $user_id = (int) $_GET[\'id\'];
    $sql = $wpdb->prepare("SELECT * FROM wp_quiz WHERE quiz_id=\'%d\'", $user_id);
    $result = $wpdb->get_row($sql, ARRAY_A);
    var_dump($user_id);
    var_dump($result);
    $total = $result[\'total_count\'];
 在我把问题贴出来后,我终于弄明白了。