0

I have inherited a web site that is in PHP and we are mostly a Windows shop. I cannot get the PHP code to connect to MySQL at all.

1 - The IDE is Eclipse. I imported the project and set up a debug configuration and everything works fine there with HTML and other PHP (non DB) code.

2 - I am running IIS 7.5 with PHP enabled

3 - I have tried to connect to two completely separate MySQL instances (different hosts, different DBs, etc) and it will not connect

I have already made sure that sql.safemode is turned to OFF and there is no default server in php.ini (that shouldn't come into play if safe mode is OFF, right?)

I have done nothing special to the PHP code or project and I'm wondering if that's part of the issue - do I need a JAR or reference of any kind to enable the MySQL connections?

The PHP code is as follow - nothing special I think:

$db_name = "foo";
$connection = @mysql_connect("myserver", "myuser", "mypw") or die("Could not connect to database");
mysql_select_db($db_name, $connection) or die("Count not select database");

the above code always results in the die statement of "Could not connect to database"

4

2 に答える 2

0

最初に php.ini ファイルをロードする必要があります。php.ini ファイルのロード方法

  1. ファイル php.ini-production/php.ini-development のいずれかの名前を C:\PHP から php.ini に変更します (拡張子は ini、つまり「php.ini」になることに注意してください)。
  2. php.ini ファイルに名前を変更した後、サーバーを再起動します。メモ帳などのテキスト エディタを管理者として開きます。
  3. 新しいファイルに、次のテキストを入力します。<?php phpinfo(); ?>
  4. ファイルを C:\inetpub\wwwroot\Phpinfo.php として保存します。
  5. ブラウザーを開き、次の URL を入力します: http://localhost/phpinfo.php

ここに画像の説明を入力

php.ini で mysqli を有効にする方法

次の構成行のコメントを外して (「;」を削除)、php.ini を編集します。

// 1st (uncomment and add config): 
include_path = "C:\php\includes"

// <2nd (uncomment): 
extension_dir = "ext"

// 3rd (uncomment and edit config): 
extension=C:/PHP/ext/php_mysql.dll
extension=C:/PHP/ext/php_mysqli.dll

編集後、IIS サーバーを再起動し、システムで mysql が実行されていることを確認します。

コード、つまり phpinfo.php ファイルを変更して、DB 接続を確認します。

<?php
$servername = "localhost";
$username = "root";
$password = "";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";
?>

ここに画像の説明を入力

于 2018-06-11T10:52:46.213 に答える
0

私の知る限り、@記号はDB接続を行うのに必要ありません。

試す

$connection = mysql_connect("myserver", "myuser", "mypw") or die("データベースに接続できませんでした");

于 2012-06-27T17:58:28.190 に答える