0

WindowsXPsp3ラップトップでmySQLを動作させようとしています。私はとを使用Apache2, php5してmysqlいます。

コマンドプロンプトから、mysqlサーバーに入り、データベースとテーブルの作成を開始できます。

PHPでは、データベースアクションを実行しようとするたびに、すべてのスクリプトが停止します。

php.ini、私は以下を有効にしました:

extension=php_mysql.dll
extension=php_mysqli.dll    

データベースをテストするための次のコードがあります。

echo '<p>testinp php script</p>'; 


// mysqli
$mysqli = new mysqli("localhost", "root", $pw, $db);

echo 'Still here<br>';

$result = $mysqli->query("SELECT * from test");
$row = $result->fetch_assoc();
print_r ($row);


echo 'Still here'; 

理由はわかりませんが、"Still here"メッセージを画面に表示できません。スクリプトが実行の最上位にあります。

また、ファイアウォールでポートを有効にしましたが、結果は良くありません。

4

1 に答える 1

1

ユーザー名とパスワードの変数を定義した場所を示していません。

この拡張機能がアクティブであることが確実な場合。以下を使用します。

if (class_exists('mysqli')) {
    echo "MySQLi Class Exists";
}
else
{
 echo "MySQLi Class Does Not Exist";
}

これにより、このクラスが正常に有効化されたかどうかを確認できます。function_exists を使用すると false が返されます。これは、MySQLi と PDO (将来の参照用) がクラスベースであるためです。

MySQLi 接続が正しく構成されているかどうか疑わしい場合。マニュアルを参照してください。 http://php.net/manual/en/mysqli.construct.php

最後になりましたが、PHP.ini を変更したため、次の点を再確認してください。

1) Apache によってロードされたものを変更したことは確かですか? - 疑わしい場合.. phpinfo を使用して、php.ini の場所を特定します。

2) php.ini の変更には、Apache の再起動/リロードが必要です。次のいずれか: 更新: タグを読むまで Linux を使っていたと思っていた

IIS を使用している場合:

管理コンソールを開き、「再起動」を選択します

XAMPP を使用している場合:

Xampp の管理コンソールを開き、サービスを停止してから、もう一度開始します。

コマンドラインから:

net stop apache2.4 次に net start apache2.4 (2.4 を Apache のバージョンに置き換えます)

CLI からサービスを操作するためのマニュアルを参照してください。

http://technet.microsoft.com/en-gb/library/cc736564%28v=ws.10%29.aspx

また、あなたのecho声明で..同じエコーが2つあるので、それらを変更してみてください..または、少なくとも(ある場合)いくつ表示されているか教えてください。それは最初のものです..マニュアルを参照してください..

2人目なら…

関数のマニュアルを参照してください。

http://www.php.net/manual/en/mysqli.query.php - MySQLi クエリ

http://www.php.net/manual/en/mysqli-result.fetch-assoc.php - MySQli フェッチ アソシエーション

最終更新(S):

MySQLi エラーについては、マニュアルも参照してください。

http://php.net/manual/en/mysqli.error.php

最後になりましたが、接続しているデータベースも存在しますか? データベーススキーマ内のそのテーブルと同じですか?

于 2013-02-05T04:29:03.550 に答える