PHP与MYSQL交互函数表学习笔记
。x
面向对象,最近一直在研究 PHP 与 MYSQL 感觉 PHP 与 MYSQL 交互的函数都是过程化的当然也有 mysqli 扩展。 Java 和 C# 写多了之后,再写 PHP 有些不适应,感觉又回到学 C 年代。今天学习了一些函数,记录下来,以便日后忘记时,可以参考。
说 明 函 数 名 函 数 详 细 函 数 说 明
string username] [, 建立数据库连接 mysql_connect resourc mysql_connect [string hostnam [:port] [:/path/to/socket] [. string password]]
"username", 示例: $conn = @mysql_connect "localhost". "password" or dir " 不能连接到 Mysql Server" ; 使用该连接必需显示的关闭连接
string username] [, 建立数据库连接 mysql_pconnect resourc mysql_pconnect [string hostnam [:port] [:/path/to/socket] [. string password]]
相当于使用了连接池 示例: $conn = @mysql_pconnect "localhost", "username", "password" or dir " 不能连接到 Mysql Server" ; 使用该连接函数不需要显示的关闭连接。
"username", 关闭数据库连接 mysql_clos $conn = @mysql_connect "localhost". "password" or die " 不能连接到 Mysql Server" ;
或数据库不存在 " @mysql_select_db "MyDatabase" or die " 不能选择这个数据库。;
echo " 已经连接到 MyDatabas 数据库 ";
mysql_clos ;
resourc link_id] 选择数据库 mysql_select_db boolean mysql_select_db string db_name [.
"username",$conn = @mysql_connect "localhost". "password" or die " 不能连接到 Mysql Server" ;
或数据库不存在 " ; @mysql_select_db "MyDatabase" or die " 不能选择这个数据库。
[resourc link_id] 查询 MySQL mysql_queri resourc mysql_queri string query.
"username",$linkId = @mysql_connect "localhost". "password" or die " 不能连接到 Mysql Server" ;
或者数据库不存在 " @mysql_select_db "MyDatabase" or die " 不能选择这个数据库。;
$queri = "select * from MyTable";
$result = mysql_queri $queri ;
则返回资源标识符,mysql_clos ; 若 SQL 查询执行胜利。失败时返回 FA LSE 若执行更新胜利,则返回 PUE 否则返回 FA LSE
string queri [, 查询 MySQL mysql_db_queri resourc mysql_db_queri string database. resourc link_id]
"username",$linkId = @mysql_connect "localhost". "password" or die " 不能连接到 MysqlServer" ;
$queri = "select * from MyTable";
$queri $result = mysql_db_queri "MyDatabase".;
不推荐使用这个函数调用 mysql_clos ; 为了使代码清晰。
int row [, 获取和显示数据 mysql_result mix mysql_result resourc result_set. mix field]
name from MyTabl order by name"$queri = "select id.;
$result = mysql_queri $queri ;
0,$c_id = mysql_result $result. "id" ;
0,$c_name = mysql_result $result. "name" ; 最简单、也是效率最低的数据获取函数
获取和显示数据 mysql_fetch_row arrai mysql_fetch_row resourc result_set
name from MyTabl order by name"$queri = "select id.;
$result = mysql_queri $queri ;
$name = mysql_fetch_row $result while list $id.{
echo "Name: $name $id <br />" ;
将值放在一个索引数组中。通常会结使 list 函数使用 } 函数从 result_set 中获取整个数据行。
int result_type] 获取和显示数据 mysql_fetch_arrai arrai mysql_fetch_arrai resourc result_set [.
name from MyTabl order by name"$queri = "select id.;
$result = mysql_queri $queri ;
MYSQL_A SSOC while $row = mysql_fetch_arrai $result.{
$id = $row["id"];
$name = $row["name"];
echo "Name: $name $id <br />";
} result_typ 值有:
字段内容为值 MYSQL_A SSOC: 字段名表示键。
操作与 mysql_fetch_ro 函数一样 MYSQL_NUM: 数值索引数组。
MYSQL_BOTH: 即作为关联数组又作为数值索引数组返回。 result_typ 默认值。
获取和显示数据 mysql_fetch_assoc arrai mysql_fetch_assoc resourc result_set
MYSQL_A SSOC ; 相当于调用 mysql_fetch_arrai resource.
获取和显示数据 mysql_fetch_object object mysql_fetch_object resourc result_set
name from MyTabl order by name"$queri = "select id.;
whil $row = mysql_fetch_object $result {
$id = $row->id;
$name = $row->name;
echo "Name: $name $id <br />";
} 操作上与 mysql_fetch_arrai 相同
所选择的记录 mysql_num_row int mysql_num_row resourc result_set
name from MyTabl where id > 65"#queri = "select id.;
$result = mysql_queri $queri ;
echo " 有 ".mysql_num_row $result ." 条记录的 ID 大于 65"; 只在确定 select 查询所获取的记录数时才有用。
受影响的记录 mysql_affected_row int mysql_affected_row [resourc link_id]
$queri = "updat MyTabl set name='CheneyFu' where id>=5";
$result = mysql_queri $queri ;
UPDA TE 或 DELETE 更新语句影响的行数 echo "ID 大于等于 5 名称被更新了记录数: ".mysql_affected_row ; 该函数获取受 INSERT.
获取数据库列表信息 mysql_list_db resourc mysql_list_db [resourc link_id]
"username",mysql_connect "localhost". "password" ;
$db = mysql_list_db ;
echo "Databases: <br />";
while list $db = mysql_fetch_row $db {
echo "$db <br />";
}
integ index 该函数获取在 mysql_list_db 所返回 result_set 中位于指定 index 索引的数据库名 获取数据库名 mysql_db_nam string mysql_db_nam resourc result_set.
resourc link_id] 获取数据库表列表 mysql_list_t resourc mysql_list_t string databas [.
"username",mysql_connect "localhost". "password" ;
$tabl = mysql_list_t "MyDatabase" ;
while list $tabl = mysql_fetch_row $tabl {
echo "$tabl <br />";
} 该函数获取 databas 中所有表的表名
integ index 获取数据库表名 mysql_tablenam string mysql_tablenam resourc result_set.
"username",mysql_connect "localhost". "password" ;
$tabl = mysql_list_t "MyDatabase" ;
$count = -1;
while ++$count < mysql_numrow $tabl {
$count ."<br />" echo mysql_tablenam $tables.;
} 该函数获取 mysql_list_t 所返回 result_set 中位于指定 index 索引的表名
int field_offset] 获取字段信息 mysql_fetch_field object mysql_fetch_field resourc result [.
"username",mysql_connect "localhost". "password" ;
mysql_select_db "MyDatabase" ;
$queri = "select * from MyTable";
$result = mysql_queri $queri ;
$field = mysql_num_field $result ;
for $count = 0; $count < $fieds; $count++ {
$count $field = mysql_fetch_field $result.;
echo "<p>$field->name $field->type $field->max_length </p>";
} 返回的对象共有 12 个对象属性:
name: 字段名
table: 字段所在表
max_length: 字段的最大长度
not_null: 如果字段不能为 null 则为 1 否则 0
则为 1 否则 primary_key: 如果字段为主键。0
则为 1 否则 unique_key: 如果字段是唯一键。0
则为 1 否则 multiple_key: 如果字段为非唯一。0
numeric: 如果字段为数值则为 1 否则 0
blob: 如果字段为 BLOB 则为 1 否则为 0
type: 字段的数据类型
unsigned: 如果字段为无符号数则为 1 否则为 0
zerofill: 如果字段为 “ 零填充 ” 则为 1 否则为 0
获取查询的字段数 mysql_num_field integ mysql_num_field resourc result_set
name from MyTabl order by name"$queri = "select id.;
$result = mysql_queri $queri ;
echo " 这个查询的字段数是 ".mysql_num_field $result ."<br />"; 返回查询 result_set 中的字段数
string table_nam [, 获取指定表的所有字段的字段名 mysql_list_field resourc mysql_list_field string database_name. resourc link_id]
"MyTable" $field = mysql_list_field "MyDatabase".;
echo " 数据库 MyDatabas 中表 MyTabl 字段数: ".mysql_num_field $field ."<br />";