php的mysql\mysqli\PDO(一)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(),因为亚迈入制代码数也许包含“\0”字符,而且,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()的不同)

网站地图xml地图