程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> php訪問mysql數據庫

php訪問mysql數據庫

編輯:MySQL綜合教程

php訪問mysql數據庫


PHP訪問Mysql數據庫
PHP可以通過mysql接口和mysqli接口訪問mysql數據庫。需要加入mysql和mysqli接口才能訪問mysql數據庫。
windows下配置amp:
a、安裝apache:
找到\Apache\conf\httpd.conf文件,用記事本打開,找到:Define SRVROOT這一項,將其右方的值改為當前你Apache安裝存放的目錄地址,如:Define SRVROOT "D:/apache"
接下來需要配置安裝Apache的主服務,有了它,Apache才可啟動:
打開CMD窗口,輸入:"D:\application_software\Apache\bin\httpd.exe" -k install -n apache
切記,包含引號。
在安裝目錄中,找到D:\application_software\Apache\bin\ApacheMonitor.exe可執行文件,雙擊運行,桌面右下角會出現圖標,雙擊打開窗口界面。點擊左側start,啟動apache服務。
注:若要卸載apache,命令下輸入sc delete apache。
配置apache:
1、apache服務器配置文件httpd.conf中修改信息。默認路徑為C:\ProgramFiles\Apache Software Foundation\Apache2.2。httpd.conf文件在apache服務器目錄下的conf文件夾中。在httpd.conf中加入信息:
loadModule php5_module "C:/php/php5apache2_2.dll" --注:apache中加載php模塊
AddType application/x-httpd-php .php .html .htm  
PHPIniDir "D:/Web/PHP5.2.17/php.ini"  --注:指定php.ini配置文件的目錄,添加這句後就不用把php.ini放到C:/windows目錄下了。
注: --AddType 是讓apache解析.php .html .htm三種文件中的php代碼。
2、加載mysql庫(php5.3以上版本沒有libmysql.dll),可以在httpd.ini中加載php5_module前,添加這句:LoadFile "E:\server\php528\libmysql.dll"或者將php目錄下的libmysql.dll文件復制到C:\windows文件夾下。或者可以將php目錄添加進環境變量path中。
配置php.ini:
1、將PHP目錄下的php.ini-recommended文件改名為php.ini。在php.ini文件中添加下面的信息:
extension_dir="C:/php/ext" --注:指定php擴展目錄的位置
extension=php_mysql.dll   --開啟mysql和mysqli動態鏈接庫
extension=php_mysqli.dll
如果php.ini中有"extension=./",直接將等號後面的值改為上面的路徑。如果存在extension=php_mysql.dll和extension=php_mysqli.dll,而且前面有分號,那麼將分號去掉即可。php.ini中分號用來表示後面的信息的注釋。
2、單擊所有程序|apache http server 2.2|control apache server|restart選項重啟apache服務器。
3、之後即可在apache服務器安裝目錄下的htdocs目錄下新建test.php文件。該文件中輸入:<?php phpinfo(); ?>
php下載地址:http://www.php.net/downloads.php   VC11 x86 Non Thread Safe 版本用於iis,VC11 x86 Thread Safe 用於apache
注:phpinfo()顯示configuration file (php.ini)path 的值若為C:\windows,這表示配置文件php.ini默認存放位置是C:\windows。loaded configuration file 的值若為C:\windows\php.ini,這表示從該文件中加載php配置文件。

linux下配置php
1、將php-5.2.11.tar.gz復制到/usr/local/src目錄下,然後在該目錄下解壓和安裝php。
命令:
cp /home/hih/download/php-5.2.11.tar.gz /usr/local/src/  --將文件復制到/usr/local/src/下
cd /usr/local/src/  --將目錄切換到/usr/local/src/下
tar -xzvf php-5.2.11  --解壓tar.gz壓縮包
cd php-5.2.11  --將目錄切換到php-5.2.11下
--設置編譯選項 通過--prefix、--with-mysql、--with-mysqli等選項來進行設置
./configure --prefix=/usr/local/php --with-mysql=/usr/local --with-mysqli=/usr/bin/mysql_config
make  --開始編譯
make install  --進行安裝
make clean --清除編譯結果
注:--prefix:設置安裝路徑。--with-mysql:php中添加傳統的mysql接口。其後面的值是mysql的安裝路徑;--with-mysqli:php中添加mysqli接口。更多參數可以通過"./confiure --help"來查看。
2、開始配置apache服務器的httpd.conf文件
如果apache服務器安裝在/usr/local/apache目錄下,那麼httpd.conf就應該在/usr/local/apache/conf/目錄下。用vi打開httpd.conf,加入下面信息:
loadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
再重啟apache服務器:/etc/init.d/httpd restart
測試php是否安裝成功可以在/var/www/html/目錄下創建test.php文件,如:
<?php phpinfo(); ?>

連接mysql數據庫
php可以通過mysql或mysqli接口連接mysql數據庫。
1、mysql接口提供mysql_connect()方法來連接mysql數據庫,如:
$connection=mysql_connect("host/IP","username","password");
還可以指定登錄到哪一個數據庫如:
$connection=mysql_connect("host/IP","username","password","database");
2、mysqli接口下有兩個比較常用的類,分別是mysqli和mysqli_result。mysqli主要用與mysql數據庫建立連接,其中query()方法用來執行sql語句。mysqli_result主要用於處理select語句的查詢結果。如:
$connection=new mysqli("host/IP","username","password","database");
注:mysqli接口提供了更多的函數功能比mysql接口強大。mysqli_connect_errno()函數可以判斷php連接mysql數據庫時是否出錯。如果出錯該函數返回true。mysqli_connect_error()函數將返回出錯信息。如果連接數據庫後,可以通過select_db()函數選擇數據庫。還可以通過get_client_info()、get_server_info()等函數獲取mysql信息。
例:連接數據庫
<?php
$connection=new mysqli("localhost","root","huang","test");
if(mysqli_connect_error()){
echo "<p>連接失敗:",mysqli_connect_error(),"</p>\n";
exit();
}
else{
echo "<p>連接成功</p>\n";
}
?>

php操作mysql數據庫
php可以通過query()函數對數據進行查詢、插入、更新和刪除等操作。但是query()函數一次只能執行一條sql語句。通過multi_query()函數可以一次執行多個sql語句。語句執行成功query()返回true,否則返回false。並可以通過affected_rows()函數獲取發生變化的記錄數。
例:php通過query()函數執行語句
$result=$connection->query("insert into score values(11,908,'法語',88)");
if($result){
echo "<p>insert語句執行成功</p>"; 
echo "<p>插入的記錄數:",$connection->affected_rows,"</p>";//返回插入的記錄數
}
else{
echo "<p>insert語句執行失敗</p>";
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved