2011-07-27 15 views
1

私の最初の小さなPHPスクリプトをローカルのmySqlデータベースに接続しようとしていて、何か問題があります。私はネットからのクッキーカッタースクリプトを使用して、いくつかの問題を抱えています。これまでデバッグするためには、データベースに接続して接続ステートメントに問題があることに気づいた行の前後にecho文を置くだけです。ここでPHP 5.3.5-1 localhostのMySQL DBに接続し、Ubuntu 11.04

は、W3Schoolsのを丸写しした、私が使用しているコードです:

<?php 
$con = mysql_connect("localhost","peter","abc123"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("my_db", $con); 

$result = mysql_query("SELECT * FROM Persons"); 

while($row = mysql_fetch_array($result)) 
    { 
    echo $row['FirstName'] . " " . $row['LastName']; 
    echo "<br />"; 
    } 

mysql_close($con); 
?> 

当然のことながら、私は、パスワードとすべてのことを変更し、私はmysqlコマンドラインツールからデータベースに接続できることを確認しました。

ヒントをいただければ幸いです。ここで

がにあるログです:/var/log/mysql/error.log

Version: '5.1.54-1ubuntu4' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu) 
110727 1:38:22 [Note] /usr/sbin/mysqld: Normal shutdown 

110727 1:38:22 [Note] Event Scheduler: Purging the queue. 0 events 
110727 1:38:23 InnoDB: Starting shutdown... 
110727 1:38:25 InnoDB: Shutdown completed; log sequence number 0 15895194 
110727 1:38:25 [Note] /usr/sbin/mysqld: Shutdown complete 

110727 14:08:56 [Note] Plugin 'FEDERATED' is disabled. 
110727 14:08:56 InnoDB: Initializing buffer pool, size = 8.0M 
110727 14:08:56 InnoDB: Completed initialization of buffer pool 
110727 14:08:57 InnoDB: Started; log sequence number 0 15895194 
110727 14:08:58 [Note] Event Scheduler: Loaded 0 events 
110727 14:08:58 [Note] /usr/sbin/mysqld: ready for connections. 
Version: '5.1.54-1ubuntu4' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu) 

だから私は、以下を追加し、PHPから@nixのおかげで、いくつかの意味のデバッグ情報を取得する方法をlearn't phpファイルの先頭に次の行を追加します。

ini_set('display_errors', 1); 
ini_set('log_errors', 1); 
ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); 
+1

エラーメッセージは何ですか? – Mat

+0

残念ながら、エラーメッセージは表示されません... PHPにエラーを表示させるにはどうすればよいですか? – Bnjmn

+0

接続ステートメントに問題があったことをどのように気付きましたか? – Mat

答えて

0

したがって、php5-mysqlライブラリがインストールされていないことが判明しました。

apt-getののphp5-mysqlの

それだインストールsudoを!

これを世話するための@nixのおかげです。

+2

次回は 'error_reporting(-1);'を使用してください。 –

+1

PHPを初めて使用したことがある場合。このコンテンツを含むPHPファイルを作成します:<?php echo phpinfo();?>ブラウザで開くと、PHPのインストールに関する多くの情報が表示されます。必要な拡張機能がインストールされているかどうかを簡単に判断できます。 – ThatGuy

1

MySQLのデーモンを再起動してみてください:

sudo service mysqld restart 

また

-h localhost 

-h 127.0.0.1 

を使用して、コマンドラインからMySQLへ接続してみてください - あなたが取得している正確なエラーを確認してください:

/var/log/mysql.err 

または

/var/log/mysql/mysql.log 

P.S.あなたのコードは私のために働く。

更新日: 最終的に判明したように、mysqliはPHPでは無効になっています。問題は解決しました:)

+0

いつも通り:これはトラブルシューティングの手順に関するアドバイスです。 OP明確に述べている:どのようなヒントをいただければ幸いです。 Downvoter - あなたのロジックを説明してください。 – ThatGuy

+0

+1;この質問に対する答えがあれば、それはこのように見えます。 –

+0

サービスを再起動しましたが、残念な結果です。 – Bnjmn

関連する問題