1 :在 php 中提供了两个用于连接 MySQL 数据库服务器的函数。
(1)int mysql_connect(hostname[:port][:/path/to/socket],user,pass).
(2)Int mysql_pconnect(hostname[:port][:/path/to/socket],user,pass).
这两个连接函数的区别:
a: 使用 mysql_pconnect( ) 建立的是一种“牢固的”( persistent )连接,即在对数据库的操作结束后 , 已建的连接并不会被断开,而是一直保留着,即使使用 mysql_close() 也不能终止连接。而 mysql_connect() 会在结束了对数据库的操作后,自动的关闭已建立的连接。
b: 使用 mysql_pconnect() 时,系统总是先检查是否已经存在使用了同样的主机名、用户名和密码的“牢固连接”,如果有则直接返回该连接的连接号,而不会建立新连接。而在使用 mysql_connect() 时,如果用户再次使用相同的参数建立连接,系统不会建立新的连接,而是返回旧的连接号。
2 : PHP 对 MySQL 数据库的库级操作共有 3 种, 它 们主要是:创建数据库、选择数据库和删除数据库。这 3 个操作分别由 3 个函数来完成,它们是:
int mysql_create_db(string database_name, int [lin k_identifier ] );
int mysql_select_db(string database_name, int [link_ identifier ] );
int mysql_drop_db(string database_name, int [lin k_identifier ] );
在函数的参数表中, “ database_name ” 是被操作的数据库的名字; “ lin k_idenifier ”由 mysql_connect( ) 或 mysql_pconnect( ) 返回的连接标识号,如果不指定连接标识号,系统会试图使用上次连接的连接号。
3 :提交查询请求。
( 1 ): int mysql_query( string query, int [link_identifier ] );
( 2 ): int mysql_db_query( string database, string query, int [link _identif ier ] );
两个函数的返回值都与传来的具体请求有关。如果 query 是一个 SELECT 语句,语句又被成功执行 ,则返回一个结果标识符 , 如果语句执行有误则返回 FALSE 。 如果 query 是一个 INSERT 、 DELETE 、 REPLACE 或 UPDATE 等其他 SQL 语句 ,则返回一个 boolean 类型的值。
案例:
<?
$conn=mysql_connect("localhost","root","mysqladmin");
mysql_select_db("bbs",$conn);
mysql_query("set names 'GBK'");// 防止中文乱码
$sql="insert into user(name) values(' 五天 ')";
mysql_query($sql);
echo " 插入数据成功! ";
?>
4 : 获取查询结果中的数据。
string mysql_result( integer result , integer row,mixed [field] ) ;
array mysql_fetch_row(integer result ) ;
array mysql_fetch_array( integer result , integer [result_ type] ) ;
object mysql_fetch_object( integer result , integer [result_ type] ) ;
案例 1 :
<?
$conn=mysql_connect("localhost","root","mysqladmin");
mysql_select_db("bbs",$conn);
mysql_query("set names 'GBK'");// 防止中文乱码
$sql="select * from user";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo $row[id]."==>".$row[name]."<br>";
}
?>
案例 2 :
<?
$conn=mysql_connect("localhost","root","mysqladmin");
mysql_select_db("bbs",$conn);
mysql_query("set names 'GBK'");// 防止中文乱码
$sql="select * from user";
$result=mysql_query($sql);
while($row=mysql_fetch_row($result)){
echo $row[0]."==>".$row[1]."<br>";
}
?>
案例 3 :
<?
$conn=mysql_connect("localhost","root","mysqladmin");
mysql_select_db("bbs",$conn);
mysql_query("set names 'GBK'");// 防止中文乱码
$sql="select * from user";
$result=mysql_query($sql);
while($row=mysql_fetch_object($result)){
echo $row->id."==>".$row->name."<br>";
}
?>
5 :获取查询结果中的数目信息。
integer mysql_num_fields ( integer resul t) ;
integer mysql_num_rows ( integer resul t) ;
这两个函数分别获得结果中字段的数目和行数。参数 result 是由 mysql_query( ) 或 mysql_db _query( ) 返回的一个结果标识符。
案例:
<?
$conn=mysql_connect("localhost","root","mysqladmin");
mysql_select_db("bbs",$conn);
mysql_query("set names 'GBK'");// 防止中文乱码
$sql="select * from user";
$result=mysql_query($sql);
echo "fields:".mysql_num_fields($result)."<br>";
echo "rows:".mysql_num_rows($result);
?>
或者:
$sql="select count(*) from user";
$result=mysql_query($sql);
if($row=mysql_fetch_row($result)){
echo $row[0];
}
6 :数据库连接异常处理。
<?
$conn=@mysql_connect("localhost","root","mysqladmin") or
die("Sorry,Unable to connect MySQL Server.");
$db=@mysql_select_db("bbs",$conn) or
die("Sorry,Unable to select database bbs.");
mysql_query("set names 'GBK'");
?>