以下是代码:
<?php
function widget_hello_world($vars) {
$username = "database_user";
$password = "database_password";
$hostname = "localhost";
//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
//select a database to work with
$selected = mysql_select_db("database_name",$dbhandle)
or die("Could not select database!");
$test1 = mysql_query("select COUNT(*) FROM Table WHERE `Status`='new'");
mysql_close($dbhandle);
$content = '<table class="table">
<thead><tr><th style="text-align:left;">Title</th><th style="text-align:left;">Data</th></tr></thead>
<tbody>
<tr><td>Test Data 1</td><td>{$test1}</td></tr>
<tr><td>Test Data 2</td><td>{$test2}</td></tr>
<tr><td>Test Data 3</td><td>{$test3}</td></tr>
</tbody>
</table>';
return array( 'title' => 'Hellow World', 'content' => $content );
}
add_hook("AdminHomeWidgets",1,"widget_hello_world");
?>
这是我访问该页面时收到的错误消息:
Connected to MySQL
Unexpected input field parameter in database query.
显然它正在连接数据库,但它说查询存在问题。
起初我认为问题在于这一行:
$test1 = mysql_query("select COUNT(*) FROM Emails WHERE `Status`='new'");
但是,即使我删除该行,也会继续发生同样的错误。我做错了什么?
答案 0 :(得分:0)
似乎这个错误发生在mysql_close($ dbhandle);
上然而,我也注意到保留字&#34;表&#34;应该回溯以防止无效的查询。您的回调例程中的某些内容可能是全局的,并且会影响连接。
另外,请使用:
echo mysql_error();
在查询期间查看任何mysql错误。
答案 1 :(得分:0)
尝试单独检查所选的数据库,例如:
<?php $con = mysql_connect('localhost', 'root', 'mypass');
$selected_db = mysql_select_db('DB Name here');
if (!$selected_db)
{
die ('Database not selected : ' . mysql_error());
}
?>
如果显示“未选择数据库”,请检查mysql_select_db()
内数据库的拼写。您还可以对mysql_close();
发表评论,以查看错误是否仍然存在。