您的位置:首页 > 其它

Medoo Insert的使用:插入数据

2014-03-09 23:53 323 查看
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”,两个键的值是递增的数字
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: