[英]PHP 5.3.5-1 connect to MySQL DB on localhost, Ubuntu 11.04
試圖讓我的第一個小PHP腳本連接到本地mySql數據庫,並且遇到了一些麻煩。 我使用網上的Cookie切刀腳本開始運行,遇到了一些問題。 為了調試到目前為止,我所要做的就是在連接數據庫的行的前面和后面放置echo語句,並注意到連接語句存在問題。
這是我正在使用的代碼,從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)
因此,由於@nix,我無法學習如何從PHP獲取一些有意義的調試信息,請在php文件的頂部添加以下幾行:
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
好。 嘗試重新啟動mysql守護程序:
sudo service mysqld restart
嘗試使用命令行從命令行連接到mysql
-h localhost
和
-h 127.0.0.1
另外-檢查您輸入的確切錯誤:
/var/log/mysql.err
要么
/var/log/mysql/mysql.log
PS您的代碼為我工作。
更新:因此-最終結果-mysqli在PHP中被禁用。 問題解決了。:)
因此,事實證明未安裝php5-mysql庫。
須藤apt-get install php5-mysql
而已!
感謝@nix照顧了這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.