基本上,我有一个引入随机数据库字段的标题。没什么特别的。它位于我模板的标题中,可以在非WordPress页面上正常工作。
$sql = "SELECT * FROM headerslogans ORDER BY RAND() LIMIT 1";
$result = mysql_query($sql);
while ($myrow = mysql_fetch_array($result)) {
echo $myrow['slogan'];
};
我使用相同的数据库,相同的用户名,相同的密码等。但是,我得到这个错误,其中回声应该是....
Warning: mysql_query() [function.mysql-query]: Access denied for user 'nobody'@'localhost' (using password: NO) in <dir name>
显然,wordpress连接“覆盖”另一个(wordpress完美无缺)。但是,我也很困惑,为什么它不起作用,虽然它使用相同的用户名和密码连接到同一个数据库。
有人可以帮我解决这个问题吗?
更新:已发布连接代码
$ x = mysql_connect($ server,$ dbuser,$ dbpass,true)或die(mysql_error()); mysql_select_db($ DBNAME,$ X);
答案 0 :(得分:1)
正如你所说,连接被覆盖了,数据库选择是否也被覆盖了?实际上mysql_select_db()
可能会让你感到困惑。通过将原始连接设置为变量并在有问题的mysql_ *函数中引用它来修复它,例如:
$dbcnct = mysql_connect(...);
mysql_select_db('...', $dbcnct);
mysql_query('...', $dbcnct);
这不应该影响您当前的设置。
答案 1 :(得分:1)
@NarfFlarf:您可以使用WordPress查询来获取数据 -
$sql = "SELECT * FROM headerslogans ORDER BY RAND() LIMIT 1";
$result = $wpdb->get_results($sql);
foreach ($myrow as $result) {
echo $myrow->slogan;
}
有关详细信息,请参阅this WordPress Codex entry。
的更新强>
您可以尝试的其他内容是<img src="slogan.php" alt="">
并且在slogan.php
内:
<?php
/* Instantiate own, non-WP MySQL connection */
/* Run query and retrieve image */
header("Content-type: image/jpeg");
echo file_get_contents('path/to/image/' . $image); // 'dynamic' image!
?>