【问题标题】:Problems converting mySQL_pconnect to mySQLi_connect将 mySQL_pconnect 转换为 mySQLi_connect 时出现问题
【发布时间】:2015-12-02 12:46:09
【问题描述】:

我最近向我的网站添加了一个 SSL 证书,一旦激活,我在尝试查看登录墙后面的页面时收到以下错误:

警告:mysql_pconnect():第 9 行 /home/refini14/public_html/Connections/Database.php 中用户 'refini14_admin'@'70.39.144.73' 的访问被拒绝(使用密码:YES)

致命错误:第 9 行 /home/refini14/public_html/Connections/Database.php 中的用户 'refini14_admin'@'70.39.144.73'(使用密码:YES)的访问被拒绝

我的托管公司的支持人员告诉我这是因为当前版本的 php 不支持 mysql_pconnect,我应该修改它以使用不同的 sql 连接方法。

我尝试修改我的数据库连接文件以使用 mysqli 进行连接,但仍然出现错误。这是我目前用来连接的代码(我用*替换了一些细节):

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_Database = "******";
$database_Database = "refini14_db";
$username_Database = "refini14_admin";
$password_Database = "*******";
$Database = mysqli_connect($hostname_Database, $username_Database, $password_Database) or trigger_error(mysqli_error(),E_USER_ERROR); 
?>

我只根据错误消息对第 9 行进行了修改,并将 mysql_pconnect 更改为 mysql_connect。我仍然收到与mysqli_error() 相关的以下错误:

警告:mysqli_error() 需要 1 个参数,0 在 /home/refini14/public_html/Connections/Database.php 第 9 行给出

致命错误:在 /home/refini14/public_html/Connections/Database.php 第 9 行

我对 mySQL 没有经验,不知道如何解决这个错误。我对mysqli_error() 所做的修改并没有解决问题。

【问题讨论】:

    标签: php mysql mysqli


    【解决方案1】:

    添加您的价值并尝试:

    <?php
    $con = mysqli_connect("localhost","my_user","my_password","my_db");
    
    // Check connection
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
    ?>

    【讨论】:

    • 我已经尝试过您的编辑,但现在收到以下错误消息:警告:mysqli_connect(): (HY000/1045): Access denied for user 'reini14_admin'@'70.39.144.73' (using password:是)在第 9 行的 /home/refini14/public_html/Connections/Database.php 中警告:mysql_select_db() 期望参数 2 是资源,在第 64 行的 /home/refini14/public_html/login.php 中给出布尔值警告:mysql_query( ) 期望参数 2 是资源,在第 66 行的 /home/refini14/public_html/login.php 中给出的布尔值
    • 我编辑代码。你插入你的价值。再次不要尝试,这意味着您的用户名和密码错误。
    【解决方案2】:

    mysqli_error() 需要您的连接变量,即$Database 作为参数,所以试试这样 -

    $Database = mysqli_connect($hostname_Database, $username_Database, $password_Database) or trigger_error(mysqli_error($Database),E_USER_ERROR);
    

    而不是这个 -

    $Database = mysqli_connect($hostname_Database, $username_Database, $password_Database) or trigger_error(mysqli_error(),E_USER_ERROR);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      • 2011-09-14
      • 2011-05-09
      相关资源
      最近更新 更多