Php MySQL-“数据库查询中的意外输入字段参数。”
代码如下:Php MySQL-“数据库查询中的意外输入字段参数。”,php,mysql,Php,Mysql,代码如下: <?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
<?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");
?>
显然,它正在连接数据库,但它说查询有问题
起初我认为问题在于这句话:
$test1 = mysql_query("select COUNT(*) FROM Emails WHERE `Status`='new'");
然而,即使我删除了那一行,同样的错误也会不断发生。我做错了什么?这个错误似乎发生在mysql\u close$dbhandle上 然而,我也注意到保留字表应该是反勾选的,以防止出现无效查询。也许回调例程中的某些内容是全局的,并且会影响连接 此外,请使用以下命令: 回显错误
在查询过程中查看任何mysql错误。尝试对所选数据库进行单独检查,如:
<?php $con = mysql_connect('localhost', 'root', 'mypass');
$selected_db = mysql_select_db('DB Name here');
if (!$selected_db)
{
die ('Database not selected : ' . mysql_error());
}
?>
如果它说“Database is not selected”,那么请检查mysql\u select\u数据库中数据库的拼写。你也可以评论mysql_close;只是想看看错误是否还会持续
另一方面,最好使用mysql,因为mysql已被弃用或更好地使用 你忘了在类似的问题中添加=他们的解决方案是删除这一行,我在这里发布之前,在回顾这个问题时尝试过这样做。删除该行时,错误更改为:无法将货币格式应用于0。未知货币类型的货币格式详细信息我只想知道mysql\u connect$hostname、$username、$password或die无法连接到mysql;如果连接失败,它不会在这里抛出die吗?mysql不推荐使用。它迟早会被移除。请使用mysqli_@username当我将数据库密码更改为不正确的内容时,它将给出无法连接到MySQLTry的错误,并为连接测试单独的骰子,例如:@Edper当我运行时,它确实给出错误数据库未选中:顺便说一句,我的变量是错误的,请将其更改为if$选定的数据库。如果未选中该数据库,则尝试找出所选数据库的拼写是否正确,然后进行更正。您能告诉哪一行引起了错误吗?@Username:mysql\u query返回一个资源,而不是分配给$test1的字符串。您实际上是如何从$test1获取计数值的?您的代码没有使用mysql\u fetch\u行、mysql\u fetch\u数组、mysql\u fetch\u assoc或mysql\u fetch\u对象!
<?php $con = mysql_connect('localhost', 'root', 'mypass');
$selected_db = mysql_select_db('DB Name here');
if (!$selected_db)
{
die ('Database not selected : ' . mysql_error());
}
?>