发布于 2014-08-21 15:54:54 | 1659 次阅读 | 评论: 0 | 来源: 网友投递

insert方法:insert($table, $data),接受两个参数的传入

第一个需要传入的参数类型为字符串:String,即为要插入数据的数据表名

第二个需要传入的参数类型为数组:array(),即为要插入的相应字段名称与相应字段名称对应的值


单条数据插入:

    $database = new medoo("my_database");  
      
    $last_user_id = $database->insert("account", array(  
        "user_name" => "foo",  
        "email" => "foo@bar.com",  
        "age" => 25,  
        "lang" => array("en", "fr", "jp", "cn")  
    ));  

传入一个字符串,一个数组即可,以上表字段为:user_name、email、age、lang,类型均为varchar

值得注意的是:insert方法会判断插入的数据,如果插入数据的值中存在数组:array,会将该值进行序列化:serialize处理


多条数据插入:

    $last_user_id = $database->insert("account", array(  
        array(  
            "user_name" => "foo",  
            "email" => "foo@bar.com",  
            "age" => 25,  
            "city" => "New York",  
            "lang" => array("en", "fr", "jp", "cn")  
        ),  
        array(  
            "user_name" => "bar",  
            "email" => "bar@foo.com",  
            "age" => 14,  
            "city" => "Hong Kong",  
            "lang" => array("en", "jp", "cn")  
        )  
    ));  

传入一个字符串,一个二维数组,即可批量插入多条数据,以上表字段相对于单条数据插入的那张表,仅仅多了一个city字段,类型也为varchar


示例演示完毕后,可能会发现一个细节:两个示例中都有$last_user_id,如果仅仅只是运行insert,实际是可以不用定义变量$last_user_id,更不用给$last_user_id赋值

这里的两个示例均没有使用user_id字段,如此时强行打印$last_user_id

    print_r($last_user_id);  

值得注意的是,一个insert方法如果被定义且被赋给一个变量的时候,单条数据插入的返回值为字符串, 多条数据插入的值为数组

这里因为没有user_id字段,所以单条数据插入的值会为:0;多条数据插入的值为一个有两个键的数组,且两个键对应的值均为0

假设按照常规理论最应该增加的字段是user_id,且自增长,那么这个地方的返回值会是:(实际这里被赋值的$last_user_id就是存储的上一步insert操作产生的ID,等于mysql_insert_id()的值)

单条:返回一个字符串显示是一个数组

多条:返回一个数组,有几条就有几个键,这里只有两条所以只有两个键,“0”和“1”,两个键的值是递增的数字

 

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务