我是一名iOS开发人员,试图更新一点'o php以使用mysqli_*的东西,而不是不推荐使用的mysql_*的东西。
我对php/mysql几乎一无所知,而且我被困住了。我正在使用在 http://www.w3schools.com/php/php_mysql_select.asp 找到的脚本,并进行了更改以反映我的字段名称等
当我从浏览器调用以下内容时,出现访问错误(连接失败:用户"whoisit7"@'localhost'的访问被拒绝(使用密码:是))。服务器名称,密码和用户名等,我正在使用浏览器中的现有脚本,而不是这个新脚本。
谁能指出我做错了什么?
<?php
$servername = "localhost";
$userName = "whoisit7_ios";
$password = "blahblahblah";
$dbName = "whoisit7_scathing";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "SELECT name, latitude, longitude FROM location where status = 1";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "name: " . $row["name"]. " - latlong: " . $row["latitude"]. " " . $row["longitude"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
在 PHP 中,变量名称区分大小写。因此,请将连接变量名称更改为:
$servername = "localhost";
$username = "whoisit7_ios";
$password = "blahblahblah";
$dbname = "whoisit7_scathing";
如果你是PHP的新手,请阅读它:http://php.net/manual/en/language.variables.basics.php
Php 区分大小写,因此请将以下行从:
$conn = mysqli_connect($servername, $username, $password, $dbname);
自
$conn = mysqli_connect($servername, $userName, $password, $dbName);
您在$username哪个是$userName和$dbname应该$dbName中犯了错误,如您上面所述。
只需更改 -->
- localhost 到 127.0.0.1//如果你想把它用作本地主机,你需要在 MySQL 配置中更改参数
和
- $username$userName//因为您需要使这些变量保持相似:)
这个问题似乎来自数据库权限,因为我以前也遇到过这个问题。尝试一下此修复程序。
GRANT ALL PRIVILEGES ON database_name TO usernamehere@host IDENTIFIED BY 'yourpassword';
FLUSH PRIVILEGES;
只需将小写字母更改为您自己的凭据即可。