私はPHP 5のコードをphp7に変換する必要があります。 すべてのMySQL文は、このような機能を定義するスクリプトを使用して変換されます。mysqli_connect mysql_connectとの相違
function mysql_connect($host, $username, $password){
global $dbconnect;
$dbconnect = mysqli_connect($host, $username, $password);
return $dbconnect;
}
いいことがある - それはPHP7に取り組んでいます。
これで、すべてのスクリプトをmysqli_connectを使って書き直しました。 しかし、mysqliを使用する最初の関数は失敗します。
mysqli_connect(): (HY000/1044): Access denied for user
私はmysql_connect
に切り替える場合は、それが動作し、次のmysqliのコマンドで再び失敗します。
なぜですか?
EDIT:接続の 完全なコード:すべてはmysql_コマンドで動作することを
function db_connect()
{
global $db_sql_hostname,$db_sql_database,$db_sql_user,$db_sql_password;
require_once 'db-config.php';
global $db_handle;
$db_handle = mysqli_connect($db_sql_hostname, $db_sql_user, $db_sql_password, $db_sql_database) or die("Konnte nicht zum mySQL-Server verbinden: ".mysqli_error());
mysqli_select_($db_sql_database, $db_handle) or die("Konnte die Datenbank ".$db_sql_database." nicht oeffnen: ".mysqli_error());
return $db_handle;
}
注意。変数は正しい!
EDIT2:
_Warning:mysqli_connect():これは、DB-config.phpのエラーをもたらすデータベース名(mysqli_connect
の第四パラメータ)としてTRUE
渡す
<?php
$db_sql_hostname = "hostIP";
$db_sql_database = "dbname";
$db_sql_dbuser = "dbuser";
$db_sql_dbpassword = "dbpassowrd";
?>
完全なエラーメッセージとは何ですか?必要に応じて、ユーザー/ホストを隠すことができます。 – aynber
接続するデータベースを指定しましたか?私はmysqli_connect呼び出しの4番目のパラメータとしてそれを持っています。 –
'mysqli_connect'を呼び出すコードが正しいパラメータを渡していない可能性があります... –