1. 简介这是一部指导我们如何使用Pear DB扩展。Pear DB,提供这样一系列的类:
以下是strp by step示例:
@@######@@@@######@@@@######@@@@######@@@@######@@@@######@@@@######@@ |
获得PHP CVS的完全文档
注意Pear DB必需PHP版本4.0.4以上,而在Pear中的一些其他包如:XML Parser of the pear installer script需要PHP4.0.5以上版本。
3. 使用Pear DB
3.1 连接,断开数据库
@@######@@@@######@@@@######@@ |
数据源(上例中的$dsn 参数)有以下允许的格式:(从Pear/DB.php的parseDSN方法复制而来)
@@######@@@@######@@ |
现在支持的数据库有 (在 phptype DSN 部分):
@@######@@@@######@@ |
注意并不是所有数据库特征都支持,可以从
3.2 执行数据库
@@######@@@@######@@@@######@@ |
3.3 获得select的数据
<FONT face=黑体>存放</FONT>Pear<FONT face=黑体>的目录:</FONT>
<B># cd /usr/local/lib</B>
<FONT face=黑体>用“</FONT>phpfi<FONT face=黑体>“口令登录</FONT>:
<B># cvs -d :pserver:cvsread@cvs.php.net:/repository login</B>
<FONT face=黑体>用以下命令得到所有的</FONT>pear<FONT face=黑体>文件,同时也可以用来更新已经下载的文件。其他的参数有:</FONT>"today", "last month",<FONT face=黑体>等。我推荐用</FONT>"last week"<FONT face=黑体>参数,因为一般</FONT>bugs<FONT face=黑体>的提交和修改都是每周一次。</FONT>
<B># cvs -d :pserver:cvsread@cvs.php.net:/repository export -D "last week" php4/pear</B>
<FONT face=黑体>编辑</FONT>php.ini<FONT face=黑体>文件加上下面一段在</FONT>include_path<FONT face=黑体>处:</FONT><I> /usr/local/lib/php4/pear</I> <FONT face=黑体>如果没有修改的权限,可以通过这条语句在代码中实现:</FONT> <I>ini_set('include_path', 'path_to_pear');</I>
<CODE> </CODE>
<CODE><?php</CODE><BR> <CODE>// The pear base directory must be in your include_path</CODE><BR> <CODE>require_once </CODE><CODE>'DB.php'</CODE><CODE>;</CODE><BR> <CODE>$user </CODE><CODE>= </CODE><CODE>'foo'</CODE><CODE>;</CODE><BR> <CODE>$pass </CODE><CODE>= </CODE><CODE>'bar'</CODE><CODE>;</CODE><BR> <CODE>$host </CODE><CODE>= </CODE><CODE>'localhost'</CODE><CODE>;</CODE><BR> <CODE>$db_name </CODE><CODE>= </CODE><CODE>'clients_db'</CODE><CODE>;</CODE><br><br> <CODE>// Data Source Name: This is the universal connection string</CODE><BR> <CODE>$dsn </CODE><CODE>= </CODE><CODE>"mysql://$user:$pass@$host/$db_name"</CODE><CODE>;</CODE><br><br> <CODE>// DB::connect will return a Pear DB object on success</CODE><BR> <CODE>// or a Pear DB Error object on error</CODE><BR> <CODE>// You can also set to TRUE the second param</CODE><BR> <CODE>// if you want a persistent connection:</CODE><BR> <CODE>// $db = DB::connect($dsn, true);</CODE><BR> <CODE>$db </CODE><CODE>= </CODE><CODE>DB</CODE><CODE>::</CODE><CODE>connect</CODE><CODE>(</CODE><CODE>$dsn</CODE><CODE>);</CODE><br><br> <CODE>// With DB::isError you can differentiate between an error or</CODE><BR> <CODE>// a valid connection.</CODE><BR> <CODE>if (</CODE><CODE>DB</CODE><CODE>::</CODE><CODE>isError</CODE><CODE>(</CODE><CODE>$db</CODE><CODE>)) {</CODE><BR> <CODE> die (</CODE><CODE>$db</CODE><CODE>-></CODE><CODE>getMessage</CODE><CODE>());</CODE><BR> <CODE>}</CODE><BR> <CODE>....</CODE><BR> <CODE>// You can disconnect from the database with:</CODE><BR> <CODE>$db</CODE><CODE>-></CODE><CODE>disconnect</CODE><CODE>();</CODE><BR> <CODE>?></CODE><CODE></CODE>
<CODE> </CODE>
<CODE> </CODE>
<CODE> * phptype: Database backend used in PHP (mysql, odbc etc.)</CODE><BR> <CODE> * dbsyntax: Database used with regards to SQL syntax etc.</CODE><BR> <CODE> * protocol: Communication protocol to use (tcp, unix etc.)</CODE><BR> <CODE> * hostspec: Host specification (hostname[:port])</CODE><BR> <CODE> * database: Database to use on the DBMS server</CODE><BR> <CODE> * username: User name for login</CODE><BR> <CODE> * password: Password for login</CODE><BR> <CODE> *</CODE><BR> <CODE> * The format of the supplied DSN is in its fullest form:</CODE><BR> <CODE> *</CODE><BR> <CODE> * phptype(dbsyntax)://username:password@protocol+hostspec/database</CODE><BR> <CODE> *</CODE><BR> <CODE> * Most variations are allowed:</CODE><BR> <CODE> *</CODE><BR> <CODE> * phptype://username:password@protocol+hostspec:110//usr/db_file.db</CODE><BR> <CODE> * phptype://username:password@hostspec/database_name</CODE><BR> <CODE> * phptype://username:password@hostspec</CODE><BR> <CODE> * phptype://username@hostspec</CODE><BR> <CODE> * phptype://hostspec/database</CODE><BR> <CODE> * phptype://hostspec</CODE><BR> <CODE> * phptype(dbsyntax)</CODE><BR> <CODE> * phptype</CODE><CODE></CODE>
<CODE> </CODE>
<CODE>mysql -> MySQL</CODE><BR> <CODE>pgsql -> PostgreSQL</CODE><BR> <CODE>ibase -> InterBase</CODE><BR> <CODE>msql -> Mini SQL</CODE><BR> <CODE>mssql -> Microsoft SQL Server</CODE><BR> <CODE>oci8 -> Oracle 7/8/8i</CODE><BR> <CODE>odbc -> ODBC (Open Database Connectivity)</CODE><BR> <CODE>sybase -> SyBase</CODE><BR> <CODE>ifx -> Informix</CODE><BR> <CODE>fbsql -> FrontBase</CODE><CODE></CODE>
<CODE> </CODE>
<CODE><?php</CODE><BR> <CODE>// Once you have a valid DB object</CODE><BR> <CODE>...</CODE><BR> <CODE>$sql </CODE><CODE>= </CODE><CODE>"select * from clients"</CODE><CODE>;</CODE><BR> <CODE>// If the query is a "SELECT", $db->query will return</CODE><BR> <CODE>// a DB Result object on success.</CODE><BR> <CODE>// Else it simply will return a DB_OK</CODE><BR> <CODE>// On failure it will return a DB Error object.</CODE><BR> <CODE>$result </CODE><CODE>= </CODE><CODE>$db</CODE><CODE>-></CODE><CODE>query</CODE><CODE>(</CODE><CODE>$sql</CODE><CODE>);</CODE><BR> <CODE>// Always check that $result is not an error</CODE><BR> <CODE>if (</CODE><CODE>DB</CODE><CODE>::</CODE><CODE>isError</CODE><CODE>(</CODE><CODE>$result</CODE><CODE>)) {</CODE><BR> <CODE> die (</CODE><CODE>$result</CODE><CODE>-></CODE><CODE>getMessage</CODE><CODE>());</CODE><BR> <CODE>}</CODE><BR> <CODE>....</CODE><BR> <CODE>?></CODE><CODE></CODE>
<CODE> </CODE>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号