简单的Wordpress小部件:解决MySQL错误

时间:2010-10-06 10:21:18

标签: php mysql wordpress

我正在为Wordpress CMS创建一个简单的小部件。该小部件只是为了呈现一些数据库记录。我将小部件文件(function.php)放入主题文件夹(themes/vigilance/):

if (function_exists('register_sidebar_widget'))
{
    register_sidebar_widget('TwiMoldova','twimoldova');
}

function twimoldova()
{
    include('widgets/twimoldova.php');
}

主题/警觉/部件/ twimoldova.php

<?php
    echo "<p>";
?>
<div class="widget" style="border-width:thin; border-style:solid; padding: 7px; font-size: 14px;">
    <?php
        define('DB_HOST', 'host');
        define('DB_NAME', 'name');
        define('DB_USER', 'user');
        define('DB_PASS', 'pass');

        echo '<p align="center"><a href="http://rating.twimoldova.com/"><b>Рейтинг Twitter в Молдове</b></a></p>';

        echo "<b>Статистика</b>:<br/>";
        $conn = mysql_connect(DB_HOST, DB_USER, DB_PASS);                              
        mysql_select_db(DB_NAME, $conn);

        $sql = "SELECT COUNT(username) FROM twitter_users;";
        $rs_result = mysql_query($sql, $conn);
        $row = mysql_fetch_row($rs_result);
        echo "Всего в рейтинге: ".$row[0]."<br/>";
        //...
    ?>
</div>

由于MySQL错误,窗口小部件无法显示数据: alt text

但如果我在没有Wordpress的情况下运行脚本,它会呈现表记录:

alt text

捕获的位置在哪里?

1 个答案:

答案 0 :(得分:1)

这在wordpress中的工作方式是使用wordpress包含的数据库引擎。你基本上做了这样的事情:

global $wpdb;
$Rows = $wpdb->query("SELECT COUNT(username) FROM twitter_users");