我使用 000webhost.com 创建了一个包含数据库的网站。现在,我尝试发布 2 个查询:一个用于添加字段,另一个用于从数据库中检索所有数据。我已经有了第一个查询(要添加),但是当我尝试进行第二个查询时,出现以下错误:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'a7172693'@'localhost' (using password: NO) in /home/a7172693/public_html/retrieve.php on line 11
我的查询 PHP 代码如下( secret 信息用连字符替换):
<?php
header('content-type:application/JSON');
$mysqli = new mysqli('---------------------', '-------------', '--------', '-------------');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$result = mysql_query('SELECT * FROM TableName');
echo json_encode(mysql_fetch_assoc($result));
?>
现在,这段代码应该只返回一个包含所有字段和所有内容的数组,但它给了我上面的警告。
如果有人能给我一些关于这里出了什么问题的线索,那就太好了。
最佳答案
您正在使用 mysqli 作为数据库驱动程序,然后尝试使用 mysql 查询数据库。将您的代码更改为此
<?php
header('content-type:application/JSON');
/* open connection*/
$connection = new mysqli_connect('---------------------', '-------------', '--------', '-------------');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT * FROM TableName";
$json_array = array ();
if ($result = $mysqli->query($query)) {
/* fetch associative array */
while ($row = $result->fetch_assoc()) {
$json_array = $row;
}
/* free result set */
$result->free();
}
/* close connection */
$mysqli->close();
echo json_encode($json_array);
?>
关于php - 访问网络托管服务上 phpMyAdmin 的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29311544/