php支持的數(shù)據(jù)庫(kù)有很多噢,下面列舉一下!
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、做網(wǎng)站與策劃設(shè)計(jì),景谷網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:景谷等地區(qū)。景谷做網(wǎng)站價(jià)格咨詢:028-86922220
MySQL
MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在 WEB 應(yīng)用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一。
MsSql
ms SQL是指微軟的SQLServer數(shù)據(jù)庫(kù)服務(wù)器,它是一個(gè)數(shù)據(jù)庫(kù)平臺(tái),提供數(shù)據(jù)庫(kù)的從服務(wù)器到終端的完整的解決方案,其中數(shù)據(jù)庫(kù)服務(wù)器部分,是一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),用于建立、使用和維護(hù)數(shù)據(jù)庫(kù)。
Oracle
oracle是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它是在數(shù)據(jù)庫(kù)領(lǐng)域一直處于領(lǐng)先地位的產(chǎn)品??梢哉f(shuō)Oracle數(shù)據(jù)庫(kù)系統(tǒng)是目前世界上流行的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),系統(tǒng)可移植性好、使用方便、功能強(qiáng),適用于各類大、中、小、微機(jī)環(huán)境。它是一種高效率、可靠性好的、適應(yīng)高吞吐量的數(shù)據(jù)庫(kù)方案。
Access
Access是由微軟發(fā)布的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它結(jié)合了 MicrosoftJet Database Engine 和 圖形用戶界面兩項(xiàng)特點(diǎn),是 Microsoft Office 的系統(tǒng)程序之一。
PostgreSQL
PostgreSQL是一種特性非常齊全的自由軟件的對(duì)象-關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(ORDBMS),是以加州大學(xué)計(jì)算機(jī)系開(kāi)發(fā)的POSTGRES,4.2版本為基礎(chǔ)的對(duì)象關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。POSTGRES的許多領(lǐng)先概念只是在比較遲的時(shí)候才出現(xiàn)在商業(yè)網(wǎng)站數(shù)據(jù)庫(kù)中。
InterBase
InterBase是一種關(guān)系數(shù)據(jù)管理系統(tǒng)(Relational database management system RDBMS),它提供了在單機(jī)或多用戶環(huán)境中的快速數(shù)據(jù)處理及共享的工具。InterBase的核心是提供透明的多機(jī)種支持的網(wǎng)絡(luò)運(yùn)行服務(wù)器技術(shù)。InterBase是可以在Windows 95、Windows NT、Novell NetWare及多種UNIX操作系統(tǒng)上運(yùn)行的工具。
CUBRID
CUBRID是一個(gè)全面開(kāi)源,且完全免費(fèi)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。
dBase
dBase是第一個(gè)在個(gè)人電腦上被廣泛使用的單機(jī)版數(shù)據(jù)庫(kù)系統(tǒng)。
Firebird/InterBase
Firebird特性介紹firebird是一個(gè)全功能的,強(qiáng)大高效的,輕量級(jí),免維護(hù)的數(shù)據(jù)庫(kù)。
IBM DB2
IBM DB2 是美國(guó)IBM公司開(kāi)發(fā)的一套關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)
Informix
Informix是IBM公司出品的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)家族。
MaxDB
MaxDB是一種企業(yè)級(jí)數(shù)據(jù)庫(kù)管理系統(tǒng)。
MongoDB
MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。
mSQL
mSQL(mini SQL)是一個(gè)單用戶數(shù)據(jù)庫(kù)管理系統(tǒng),個(gè)人使用免費(fèi),商業(yè)使用收費(fèi)。由于它的短小精悍,使其開(kāi)發(fā)的應(yīng)用系統(tǒng)特別受到互聯(lián)網(wǎng)用戶青睞。
SQLite
SQLite,是一款輕型的數(shù)據(jù)庫(kù),是遵守ACID的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它包含在一個(gè)相對(duì)小的C庫(kù)中。
SQLSRV
SQL Server(SQLSRV )是由Microsoft開(kāi)發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)。
Sybase
美國(guó)Sybase公司研制的一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),是一種典型的UNIX或WindowsNT平臺(tái)上客戶機(jī)/服務(wù)器環(huán)境下的大型數(shù)據(jù)庫(kù)系統(tǒng)。
tokyo_tyrant
一個(gè)可持久化數(shù)據(jù)的,好處是速度不錯(cuò),而且大至兼容Memcached的文本協(xié)議,客戶端可以繼續(xù)使用SpyMemcached。
希望對(duì)你有幫助,謝謝采納!
我也不是老手,,呵
首先,,數(shù)據(jù)庫(kù)配置信息,,dbhost,dbport,dbuser,dbpass,dbname,charset這些參數(shù)最好不要設(shè)成全局變量,而從構(gòu)造函數(shù)傳遞...
這樣做的好處有幾點(diǎn)
這個(gè)類可以單獨(dú)調(diào)用,,?不用再包含配置文件,,因?yàn)槟阏{(diào)用類的php文件一定會(huì)先包含配置文件,,再包含數(shù)據(jù)庫(kù)操作類,,
通過(guò)參數(shù)傳遞可以提高類的獨(dú)立性,,這樣,,以后這個(gè)類可以被移植到任何系統(tǒng)里面調(diào)用,,,
1、取得結(jié)果集中字段的數(shù)目
這個(gè)是由你select?后面的東西來(lái)決定的,,如果你用的是select?*
你已經(jīng)寫(xiě)了這個(gè)
$result=mysql_query($str."?limit?".$rows)or?die(mysql_error());
$count=0;
$data=array();
while($rs=mysql_fetch_row($result)){
$data[$count]=$rs;
$count++;
}
@mysql_free_result($result);
return?$result;
你可以在這段代碼@mysql_free_result($result);之前,,用count($data[0])函數(shù)來(lái)提取,,,你這里的return?$result是什么意思,,不是已經(jīng)釋放了嗎,,應(yīng)該是return?$data才對(duì)
$result=mysql_query($str."?limit?".$rows)or?die(mysql_error());
這一句你是限制提取條數(shù),,,但這在實(shí)際工作中沒(méi)有什么用處,,,
一般的分頁(yè)語(yǔ)句都是寫(xiě)在sql里面的limit?x,xx;這樣
你這樣寫(xiě),,如果有1W條記錄,,你就沒(méi)辦法從數(shù)據(jù)庫(kù)的角度去分類
第二個(gè)也是一樣的
因?yàn)槟愕腟electRows($str,$rows)返回的是一個(gè)二維數(shù)組,,所以要知道有多少條記錄,,,只要用count($data)就可以知道..
$db=new?mysqlconn();
$str="SELECT?*?FROM?xxx?ORDER?BY?XXX?ASC";
$data=$db-SelectRows($str,$rows);
$counts=count($data);//這就是取得的總記錄數(shù)
PHP連接數(shù)據(jù)庫(kù)之PHP連接MYSQL數(shù)據(jù)庫(kù)代碼
?php? ? $mysql_server_name= localhost ;? //改成自己的mysql數(shù)據(jù)庫(kù)服務(wù)器 ? $mysql_username= root ;? //改成自己的mysql數(shù)據(jù)庫(kù)用戶名 ? $mysql_password= ;? //改成自己的mysql數(shù)據(jù)庫(kù)密碼 ? $mysql_database= mycounter ; ?//改成自己的mysql數(shù)據(jù)庫(kù)名 ? $conn=mysql_connect($mysql_server_name $mysql_username $mysql_password $mysql_database);? ? $sql= CREATE?DATABASE?mycounter? DEFAULT?CHARACTER?SET?gbk?COLLATE?gbk_chinese_ci;? ? ;? ? mysql_query($sql);? ? $sql= CREATE?TABLE?`counter`? (`id`?INT( )?UNSIGNED?NOT?NULL? AUTO_INCREMENT? `count`?INT( )? UNSIGNED?NOT?NULL?DEFAULT? PRIMARY?KEY? (?`id`?)?)?TYPE?=?innodb; ;? ? mysql_select_db($mysql_database $conn);? ? $result=mysql_query($sql);? ? //echo?$sql;? ? mysql_close($conn);? ? echo?"Hello!數(shù)據(jù)庫(kù)mycounter已經(jīng)成功建立!";? ? ?
PHP連接數(shù)據(jù)庫(kù)之PHP連接ACCESS數(shù)據(jù)庫(kù)代碼方法
? ? $conn?=?new?("ADODB Connection");? ? $connstr?=?"DRIVER={Microsoft?Access?Driver?(* mdb)};?DBQ=" ?realpath("data/db mdb");? ? $conn Open($connstr);? ? $rs?=?new?("ADODB RecordSet");? ? $rs Open("select?*?from?szd_t" $conn );? ? while(!?$rs eof)?{? ? $f?=?$rs Fields( );? ? echo?$f value;? ? $rs MoveNext();? ? }? ? ?
PHP連接數(shù)據(jù)庫(kù)之PHP連接MS SQL數(shù)據(jù)庫(kù)代碼方法
安裝SQL服務(wù)器并添加PHP的MSSQL擴(kuò)展
使用以下代碼連接并測(cè)試
?php? ? $myServer?=?localhost;?//主機(jī) ? $myUser?=?sa;?//用戶名 ? $myPass?=?password;?//密碼 ? $myDB?=?Northwind;?//MSSQL庫(kù)名 ? $s?=?@mssql_connect($myServer ?$myUser ?$myPass)? ? or?die(Couldnt?connect?to?SQL?Server?on?$myServer);? ? $d?=?@mssql_select_db($myDB ?$s)? ? or?die(Couldnt?open?database?$myDB);? ? $query?=?SELECT?TitleOfCourtesy+?+FirstName+?+LastName?AS?Employee?;? ? $query? =?FROM?Employees?;? ? $query? =?WHERECountry=USA?AND?Left(HomePhone ? )?=?( );? ? $result?=?mssql_query($query);? ? $numRows?=?mssql_num_rows($result);? ? echo? h ? ?$numRows? ?Row? ?($numRows?==? ???:?s)? ?Returned?/ h ;? ? while($row?=?mssql_fetch_array($result))? ? {? ? echo? li? ?$row[Employee]? ? /li;? ? }? ? ?
PHP連接數(shù)據(jù)庫(kù)之PHP連接Oracle數(shù)據(jù)庫(kù)
PHP提供了兩套函數(shù)與Oracle連接 分別是ORA_和OCI函數(shù) 其中ORA_函數(shù)略顯陳舊 OCI函數(shù)更新?lián)f(shuō)更好一些 兩者的使用語(yǔ)法幾乎相差無(wú)幾 你的PHP安裝選項(xiàng)應(yīng)該可以支持兩者的使用
?? if?($conn=Ora_Logon("user@TNSNAME" "password"))? ? {?echo?"SUCCESS?!?Connected?to?databasen";? ? }else? ? {echo?"Failed?: (?Could?not?connect?to?databasen";}? ? Ora_Logoff($conn);? ? phpinfo();? ? ?? ? lishixinzhi/Article/program/PHP/201405/30761
我也剛剛學(xué)PHP,正在研究中,雖然你只給10分........
首先,將代碼保存到一個(gè)文件,如:mysql.class.php
其次,在一個(gè)常用的文件里調(diào)用:比如頭部文件header.php,因?yàn)槲曳旁诟夸浰杂孟旅娣绞綄?dǎo)入其他文件:
require dirname(__FILE__) . 'include/config.php';
//導(dǎo)入類文件
require dirname(__FILE__) . 'include/mysql.class.php';
//定義一個(gè)類及初始化數(shù)據(jù)庫(kù)類
$db = new mysql($db_host, $db_user, $db_pass, $db_name);
$db_host = $db_user = $db_pass = $db_name = NULL;
然后,在test.php文件調(diào)用:
require_once dirname(__FILE__) . '/header.php';
使用方法:
$sql = "讀取表";
$res = $db-query($sql);
$info = array();//定義數(shù)組
while($row=$db-fetchRow($res))
{
$arr['id'] = $row['id'];
$arr['title'] = $row['title'];
$info[] = $arr;
}
可以在顯示的地方用:
foreach($info as $i)
{
echo $i['title']."br /";
}
或是直接使用while
還用另一種調(diào)用方式:
$here_area = $db-getRow("select areaid,areaname from {$table}area where areaid='$areaid'");
$here[] = array('name'=$here_area['areaname'],'id'=$here_area['areaid']);
測(cè)試通過(guò),因?yàn)槲艺谑褂?....................................
config.php代碼:
?php
$db_host = "localhost";
$db_name = "test";
$db_user = "root";
$db_pass = "";
$table = "mini_";
$charset = "gb2312";
$dbcharset = "gbk";
?
mysql.class.php代碼:
?php
class mysql
{
var $link = NULL;
//自動(dòng)執(zhí)行__construct php5類構(gòu)建方法,如果PHP4和PHP5同時(shí)使用會(huì)自動(dòng)使用PHP5的方法
function __construct($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $quiet = 0)
{
//自動(dòng)執(zhí)行時(shí)調(diào)用mysql函數(shù)
$this-mysql($dbhost, $dbuser, $dbpw, $dbname, $pconnect, $quiet);
}
//php4類構(gòu)建方法,如果沒(méi)有 __construct 就自動(dòng)執(zhí)行此功能
function mysql($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $quiet = 0)
{
if ($quiet)
{
$this-connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect, $quiet);
}
else
{
$this-settings = array(
'dbhost' = $dbhost,
'dbuser' = $dbuser,
'dbpw' = $dbpw,
'dbname' = $dbname,
'charset' = $charset,
'pconnect' = $pconnect
);
}
}
function connect($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $quiet = 0)
{
global $dbcharset;
if ($pconnect)
{
if (!($this-link = @mysql_pconnect($dbhost, $dbuser, $dbpw)))
{
if (!$quiet)
{
$this-ErrorMsg("Can't pConnect MySQL Server($dbhost)!");
}
return false;
}
}
else
{
if (PHP_VERSION = '4.2')
{
$this-link = @mysql_connect($dbhost, $dbuser, $dbpw, true);
}
else
{
$this-link = @mysql_connect($dbhost, $dbuser, $dbpw);
mt_srand((double)microtime() * 1000000);
}
if (!$this-link)
{
if (!$quiet)
{
$this-ErrorMsg("Can't Connect MySQL Server($dbhost)!");
}
return false;
}
}
$this-dbhash = md5($this-root_path . $dbhost . $dbuser . $dbpw . $dbname);
$this-version = mysql_get_server_info($this-link);
if ($this-version '4.1')
{
if ($dbcharset != 'latin1')
{
mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this-link);
}
if ($this-version '5.0.1')
{
mysql_query("SET sql_mode=''", $this-link);
}
}
if ($dbname)
{
if (mysql_select_db($dbname, $this-link) === false )
{
if (!$quiet)
{
$this-ErrorMsg("Can't select MySQL database($dbname)!");
}
return false;
}
else
{
return true;
}
}
else
{
return true;
}
}
function query($sql, $type = '')
{
if ($this-link === NULL)
{
$this-connect($this-settings['dbhost'], $this-settings['dbuser'], $this-settings['dbpw'], $this-settings['dbname'], $this-settings['charset'], $this-settings['pconnect']);
$this-settings = array();
}
if ($this-queryCount++ = 99)
{
$this-queryLog[] = $sql;
}
if ($this-queryTime == '')
{
if (PHP_VERSION = '5.0.0')
{
$this-queryTime = microtime(true);
}
else
{
$this-queryTime = microtime();
}
}
if (!($query = mysql_query($sql, $this-link)) $type != 'SILENT')
{
$this-error_message[]['message'] = 'MySQL Query Error';
$this-error_message[]['sql'] = $sql;
$this-error_message[]['error'] = mysql_error($this-link);
$this-error_message[]['errno'] = mysql_errno($this-link);
$this-ErrorMsg();
return false;
}
return $query;
}
function affected_rows()
{
return mysql_affected_rows($this-link);
}
function num_fields($query)
{
return mysql_num_fields($query);
}
function error()
{
return mysql_error($this-link);
}
function errno()
{
return mysql_errno($this-link);
}
function num_rows($query)
{
return mysql_num_rows($query);
}
function insert_id()
{
return mysql_insert_id($this-link);
}
function fetchRow($query)
{
return mysql_fetch_assoc($query);
}
function fetcharray($query)
{
return mysql_fetch_array($query);
}
function version()
{
return $this-version;
}
function close()
{
return mysql_close($this-link);
}
function ErrorMsg($message = '', $sql = '')
{
if ($message)
{
echo "$message\n\n";
}
else
{
echo "bMySQL server error report:";
print_r($this-error_message);
}
exit;
}
function getCol($sql)
{
$res = $this-query($sql);
if ($res !== false)
{
$arr = array();
while ($row = mysql_fetch_row($res))
{
$arr[] = $row[0];
}
return $arr;
}
else
{
return false;
}
}
function getOne($sql, $limited = false)
{
if ($limited == true)
{
$sql = trim($sql . ' LIMIT 1');
}
$res = $this-query($sql);
if ($res !== false)
{
$row = mysql_fetch_row($res);
if ($row !== false)
{
return $row[0];
}
else
{
return '';
}
}
else
{
return false;
}
}
function getAll($sql)
{
$res = $this-query($sql);
if ($res !== false)
{
$arr = array();
while ($row = mysql_fetch_assoc($res))
{
$arr[] = $row;
}
return $arr;
}
else
{
return false;
}
}
//使用: getRow($sql,true) 如果有true那值是 limit 1,讀取一條信息
function getRow($sql, $limited = false)
{
if ($limited == true)
{
$sql = trim($sql . ' LIMIT 1');
}
$res = $this-query($sql);
if ($res !== false)
{
return mysql_fetch_assoc($res);
}
else
{
return false;
}
}
}
?
$link=mysql_connect("數(shù)據(jù)庫(kù)地址","用戶名","密碼");//鏈接數(shù)據(jù)庫(kù)
mysql_query(“set names 文件編碼名稱”);//設(shè)置鏈接編碼//這個(gè)是通用的設(shè)置方式
mysql_set_charset("編碼名稱")//設(shè)置鏈接編碼
mysql_query(“use 數(shù)據(jù)庫(kù)名稱”)//選定數(shù)據(jù)庫(kù)名稱
mysql_select_db("數(shù)據(jù)庫(kù)名稱")//選定數(shù)據(jù)庫(kù)名稱
$result=mysql_query(" sql代碼")//執(zhí)行sql代碼如果只是插入之類的返回true或者false 如果是select返回一個(gè)結(jié)果集合
mysql_error()//獲取數(shù)據(jù)庫(kù)執(zhí)行失敗信息
您好,你的問(wèn)題,我之前好像也遇到過(guò),以下是我原來(lái)的解決思路和方法,希望能幫助到你,若有錯(cuò)誤,還望見(jiàn)諒!展開(kāi)全部
常規(guī)方式
常規(guī)方式就是按部就班的讀取文件了。其余的話和上述方案一致。
// 讀取配置文件內(nèi)容
$handle = fopen("filepath", "r"); $content = fread($handle, filesize("filepath"));123
PHP解析XML
上述兩種讀取文件,其實(shí)都是為了PHP解析XML來(lái)做準(zhǔn)備的。關(guān)于PHP解析XML的方式的博客有很多。方式也有很多,像simplexml,XMLReader,DOM啦等等。但是對(duì)于比較小型的xml配置文件,simplexml就足夠了。
配置文件
?xml version="1.0" encoding="UTF-8" ?mysql
!-- 為防止出現(xiàn)意外,請(qǐng)按照此標(biāo)準(zhǔn)順序書(shū)寫(xiě).其實(shí)也無(wú)所謂了 --
hostlocalhost/host
userroot/user
password123456/password
dbtest/db
port3306/port/mysql12345678910
解析非常感謝您的耐心觀看,如有幫助請(qǐng)采納,祝生活愉快!謝謝!