-1

スタックオーバーフローでこの問題について話しているフォーラムがかなりあることは知っていますが、誰も助けてくれないようです....他の誰かが私に手を差し伸べることができるかどうかを確認しようとしています...

私はmysqlサーバー5.1をインストールしましたが、インストール中にエラーは発生しなかったので、すべて問題ないと思いますが、phpを学習して使用しようとしてmysqlを介して接続しようとすると、次のエラーメッセージが表示されます

Fatal error: Call to undefined function mysqli_connect() in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\books.php on line 3

私のコードはここにあります

<?php

$db = mysqli_connect("localhost", "root", "3308") or die(mysqli_connect_error());

mysqli_select_db($db, "booksdb") or die(mysqli_error($db));

mysqli_query($db, "CREATE TABLE books(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
title VARCHAR(64) NOT NULL)") or die(mysqli_error($db));

mysqli_query($db, "INSERT INTO books(id, title) VALUES(NULL, 'the nose')") or die(mysqli_error());

mysqli_query($db, "INSERT INTO books(id, title) VALUES(NULL, 'the overcoat')") or die(mysqli_error());

mysqli_query($db, "INSERT INTO books(id, title) VALUES(NULL, 'war and peace')") or die(mysqli_error());

$result = mysqli_query($db, "SELECT id, title FROM books") or die(mysqli_error());

while($record = mysqli_fetch_assoc($result)){
    echo $record['id'];
    echo " ";
    echo $record['title'];
    echo "<hr/>";
}


?>

私のphp.iniファイルで、両方のコメントを外しました

extension=php_mysql.dll
extension=php_mysqli.dll

もちろん、Apacheを再起動しました。また、whoマシンも再起動しましたが、そのエラーメッセージが表示され続け、修正方法がわかりません. 私はいくつかのフォーラムを検索しましたが、それらはすべて、拡張機能のコメントが外されていることを確認するよう求められました。また、いくつかのフォーラム サイトをチェックして、いくつか試してみました。彼らが私に試してみるように言っていることを理解できなかったものもありましたが、私が試したものはどれもうまくいきませんでした. ここに何かアイデアはありますか?

4

3 に答える 3

1

さて、これはあなたが直面している問題の別の解決策かもしれません. ただし、正確な答えではありません。php_mysqli.dllおよび他の拡張機能を適切な場所に配置する必要があります。次の 3 つの領域を確認する必要があります。

  1. フォルダ内の物理ファイルのphp_mysqli.dll存在。ext
  2. ディレクトリextが正しく参照されているかどうか。
  3. Apache にフォルダーへのアクセス権と権限があるかどうかを確認します。
  4. 正しいファイルを編集したかどうかを確認します。複数のphp.iniファイルが存在する場合があります。

別の簡単な解決策は、以下のようなパッケージをインストールすることです。

  1. WAMP サーバー(私はこれを小規模に推奨します。また、ライブ プロジェクトにも使用できます)
  2. XAMPP
  3. USB ウェブサーバー
于 2013-03-26T02:24:18.857 に答える
0

1) がディレクトリに存在することを確認php_mysqli.dllします。2) あなたのidauto_increment はありますか? はいの場合は、テーブルに挿入する必要はありません。構文を確認してください。これを試して:

mysqli_query($db, "INSERT INTO books(title) VALUES('the nose')") or die(mysqli_error());
于 2013-03-26T02:26:38.363 に答える