• php的mysqlmysqliPDO(一)mysql


    原文链接:http://www.orlion.ga/1140/

    工作中数据库的操作都被封装好了,这些怎么用的都快忘了干脆写篇博客重新复习下,以后要是再忘记了可以看这篇文章。

        PHP 5.5.0 起已废弃

        1、mysql_connect()

    resource mysql_connect([ string $server [, string $username [, string $password [, bool$new_link [, int $client_flags ]]]]] )

        $server:服务器地址可以包括端口号,如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 'localhost:3306'。 在 SQL 安全模式 时,参数被忽略,总是使用 'localhost:3306'。

        $username:用户名。默认值由 mysql.default_user 定义。 在 SQL 安全模式 时,参数被忽略,总是使用服务器进程所有者的用户名。

        $password:密码。默认值由mysql.default_password定义。在 SQL 安全模式 时,参数被忽略,总是使用空密码。

        $new_link:如果用同样的参数第二次调用 mysql_connect(),将不会建立新连接,而将返回已经打开的连接标识。参数new_link 改变此行为并使 mysql_connect() 总是打开新的连接,甚至当 mysql_connect() 曾在前面被用同样的参数调用过。

        $client_flags:使用以下常量:

    MySQL 客户端常量
    常量说明
    MYSQL_CLIENT_COMPRESS 使用压缩的通讯协议
    MYSQL_CLIENT_IGNORE_SPACE 允许在函数名后留空格位
    MYSQL_CLIENT_INTERACTIVE 允许设置断开连接之前所空闲等候的 interactive_timeout 时间(代替 wait_timeout)。
    MYSQL_CLIENT_SSL 使用 SSL 加密。本标志仅在 MySQL 客户端库版本为 4.x 或更高版本时可用。在 PHP 4 和 Windows 版的 PHP 5 安装包中绑定的都是 3.23.x。

        
        2、mysql_close()

    bool mysql_close ([ resource $link_identifier = NULL ] )

       mysql_close() 关闭指定的连接标识所关联的到 MySQL 服务器的非持久连接。如果没有指定 link_identifier,则关闭上一个打开的连接.通常不需要使用 mysql_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭。PHP 4 Zend 引擎引进了引用计数系统,可以自动检测到一个资源不再被引用了(和 Java 一样)。这种情况下此资源使用的所有外部资源都会被垃圾回收系统释放。因此,很少需要手工释放内存。

        3、mysql_select_db()

    bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )

        如果没有指定$link_identifier则使用上一个打开的数据库连接,如果没有打开的连接则将无参数调用mysql_connet()取得一个连接并使用。如果没有连接则E_WARNING错误

        4、mysql_query()

    resource mysql_query ( string $query [, resource $link_identifier = NULL ] )

        $query查询字符串不应该以分号结束

        $link_identifier如果不指定处理方式与mysql_select_db()相同。

        返回值:

        mysql_query() 仅对 SELECT,SHOW,DESCRIBE, EXPLAIN 和其他语句 语句返回一个 resource,如果查询出现错误则返回 FALSE。对于其它类型的 SQL 语句,比如INSERT, UPDATE, DELETE, DROP 之类, mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。返回的结果资源应该传递给 mysql_fetch_array() 和其他函数来处理结果表,取出返回的数据。假定查询成功,可以调用 mysql_num_rows() 来查看对应于 SELECT 语句返回了多少行,或者调用mysql_affected_rows() 来查看对应于 DELETE,INSERT,REPLACE 或 UPDATE 语句影响到了多少行。如果没有权限访问查询语句中引用的表时,mysql_query() 也会返回 FALSE

        对于包含二进制数据的查询,你必须使用mysql_real_query()而不是mysql_query(),因为二进制代码数据可能包含“”字符,而且,mysql_real_query()比mysql_query()更快,因为它不会在查询字符串上调用strlen()。如果查询成功,函数返回零。如果发生一个错误,函数返回非零

        5、mysql_affected_rows()

    int mysql_affected_rows ([ resource $link_identifier = NULL ] )

        取得最近一次与 link_identifier 关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。

        6、mysql_fetch_array()

    array mysql_fetch_array ( resource $result [, int $ result_type ] )

        将结果以数组方式返回,一次只返回一行,然后指向下一行(用while循环取出)如果没有更多结果返回false。如果结果中有两个或两个以上的列有相同的字段名,最后一列将优先。如果sql中指定了别名则使用别名。PHP手册中指出mysql_fetch_array并不明显比mysql_fetch_row慢。

        $result_type:可选:MYSQL_ASSOC(关联数组),MYSQL_NUM(枚举数组) 和 MYSQL_BOTH,默认值MYSQL_BOTH。

        // MYSQL_NUM
        $result = mysql_query("SELECT id, name FROM mytable");
    
        while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
            printf ("ID: %s  Name: %s", $row[0], $row[1]);
        }
        // MYSQL_ASSOC
        $result = mysql_query("SELECT id, name FROM mytable");
    
        while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
            printf ("ID: %s  Name: %s", $row["id"], $row["name"]);
        }
        // MYSQL_BOTH
        $result = mysql_query("SELECT id, name FROM mytable");
    
        while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
            printf ("ID: %s  Name: %s", $row[0], $row["name"]);
        }

        7、其他函数:

    string mysql_error ([ resource $link_identifier ] )

        如果没有指定数据库连接则使用上一个连接,只返回最近一次mysql函数的错误文本。

    bool mysql_set_charset ( string $charset [, resource $link_identifier = NULL ] )

        设置字符集,数据库连接的选择与mysql_select_db()一样。

    string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )

        转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集(这是与mysql_escape_string()的不同)

  • 相关阅读:
    keyset与entryset
    solr4.9r+ Eclipse 4.3+ tomcat 7.5 +winds7(二)
    如何解决This system is not registered with RHN.
    堆和栈的差别(转过无数次的文章)
    墨菲定律、二八法则、马太效应、手表定理、“不值得”定律、彼得原理、零和游戏、华盛顿合作规律、酒与污水定律、水桶定律、蘑菇管理原理、钱的问题、奥卡姆剃刀等13条是左右人生的金科玉律
    atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
    漫谈并发编程(二):java线程的创建与基本控制
    exosip
    PostgreSQL服务端监听设置及client连接方法
    APK反编译。
  • 原文地址:https://www.cnblogs.com/orlion/p/5315175.html
Copyright © 2020-2023  润新知