php 基础(二) :php操作Mysql

作者:陆金龙    发表时间:2014-12-20 17:09   


本文是阅读电子书PHP学习资料汇总后,根据本人的心得整理而来。

1. 连接MySql数据库

mysql_connect([hostname] [:port], [username], [password])

本函数建立与 MySQL 服务器的连接。其中所有的参数都可省略。当使用本函数却不加任何参数时,参数 hostname 的默认值为 localhost、参数 username 的默认值为 PHP 执行行程的拥有者、参数 password 则为空字符串 (即没有密码)。而参数 hostname 后面可以加冒号与端口号,代表使用哪个端口与 MySQL 连接。使用 mysql_close() 将连接关掉释放资源。

示例:$conn=mysql_connect ("127.0.0.1:3306", "root", "123456");

2. 选择一个数据库

mysql_select_db(database_name, [connection_id])

本函数选择 MySQL 服务器中的数据库以供之后的资料查询作业 (query) 处理。成功返回 true,失败则返回 false。

示例:$conn=mysql_connect ("127.0.0.1", "", "");

              mysql_select_db("shop");

3. 两个查询函数

1) 增删改查

mysql_query(query,connection); 

query 查询字符串供 ,MySQL 做相关的处理或者执行。

connection 数据库连接 若没有指定 该参数,则程序会自动寻找最近打开的连接的 ID。

mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。

对于其它类型的 SQL 语句 如UPDATE、INSERT 及 DELETE 等,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。

非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。       

查询: $sql="select * from user";

      $result=mysql_query($sql);

添加删除修改,还是这个函数,只要变换查询字符串就可以了 

添加:$sql="insert into tablename (item1,item2) values ('".$_POST['item1']."',".$_POST['item1'].")";

删除:$sql="delete from tablename where...";

修改:$sql="update tablename set item1='".$_POST['item1']."' where ...";

注:如果表单中的一个 <input name="item1" type="text" id="item1">。表单以POST提交的,那么处理表单文件就可以用$_POST['item1']得到变量值,同样以GET提交的就是$_GET['item1']

2) 返回类信息

mysql_fetch_object(result, [result_typ])

本函数用来将查询结果 result 拆到类变量中。若 result 没有资料,则返回 false 值。

示例:

    <? 

    $con = mysql_connect("localhost","mysql_user","mysql_pwd"); 

    $sql="select * from user";

    $result=mysql_query($sql,$con);


    while($rs=mysql_fetch_object($result))
    {
    echo "username:".$rs->username."<br>"; 
    }
    ?> 

4. 其他常用的相关函数    

mysql_pconnect(主机,用户名,口令)

与mysql_connect完全相似,但建立一个"永久连接",该连接一经建立永不关闭,即使使用mysql_close函数或程序执行完毕也不关闭。下一次试图建立永久连接时,系统如发现已存在一个永久连接,则直接返回该连接号而不重新创建。

boolean mysql_create_db(数据库名)

创建一个数据库。注意必须用一个带有创建数据库许可权的帐号打开连接。

array mysql_fetch_array(结果号)

取出下一行,返回一个数组。可以用数字下标访问(第一个字段是下标0),也可以用字符串下标访问(即使用各字段名)。如已取了最后一行,返回 false.。

mysql_fetch_row(结果号)

返回一个矩阵代表结果集中一行的所有域。每次调用都会产生下一行,直到没有行剩下时返回false.每个域值都由一个从零开始的偏移量索引。这是从查询中获取结果的最快方法。

integer mysql_num_rows(结果号)

返回结果集中行的数目

integer mysql_num_fields(结果号)

返回结果集中字段的数目。

integer mysql_list_dbs()

向服务器查询数据库列表。它返回一个结果指针,该指针可用于 mysql_fetch_row函数及类似函数。

mysql_list_tables(数据库名)

获取一个指向指定数据库的表单列表的结果指针。该结果指针可用于任何从结果集中获取行的函数。