使用在其他脚本中工作的凭据时发生php访问错误

使用在其他脚本中工作的凭据时发生php访问错误,php,mysql,Php,Mysql,我是一名iOS开发人员,正在尝试更新一点php以使用mysqli_*内容,而不是不推荐的mysql_*内容 我对php/mysql几乎一无所知,我被卡住了。我正在使用一个在中找到的脚本,其中的更改反映了我的字段名等 当我从浏览器调用以下命令时,我收到一个访问错误(连接失败:用户“whoisit7”@“localhost”(使用密码:YES)的访问被拒绝)。我使用的服务器名称、密码和用户名等都可以在浏览器中使用现有脚本,但不能在新脚本中使用 有人能指出我做错了什么吗 <?php $serve

我是一名iOS开发人员,正在尝试更新一点php以使用mysqli_*内容,而不是不推荐的mysql_*内容

我对php/mysql几乎一无所知,我被卡住了。我正在使用一个在中找到的脚本,其中的更改反映了我的字段名等

当我从浏览器调用以下命令时,我收到一个访问错误(连接失败:用户“whoisit7”@“localhost”(使用密码:YES)的访问被拒绝)。我使用的服务器名称、密码和用户名等都可以在浏览器中使用现有脚本,但不能在新脚本中使用

有人能指出我做错了什么吗

<?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新手,请阅读它:

PHP区分大小写,因此将以下行改为:

$conn = mysqli_connect($servername, $username, $password, $dbname);

您在$username(即$username)和$dbname(即您在上面声明的$dbname)中出错。

只需更改-->

  • localhost改为127.0.0.1//如果您想将mysql配置中的参数用作localhost,则需要更改它
  • $username到$username//因为您需要保持这些变量相似:)

  • 这个问题似乎来自数据库特权,因为我以前也遇到过这个问题。试试这个办法

    GRANT ALL PRIVILEGES ON database_name TO usernamehere@host IDENTIFIED BY 'yourpassword';
    FLUSH PRIVILEGES;
    

    只需将小写字母更改为您自己的凭据。

    在变量中始终使用相同的大写字母,PHP中的变量区分大小写:
    $conn=mysqli\u connect($servername、$username、$password、$dbname)
    这里有
    $username
    但是在你定义
    $username
    之前,我羞愧地垂着头。太尴尬了。非常感谢!
    GRANT ALL PRIVILEGES ON database_name TO usernamehere@host IDENTIFIED BY 'yourpassword';
    FLUSH PRIVILEGES;