Medoo Insert的使用:插入数据

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

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

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


以下以官网示例进行完整说明(部分可能经过修改)

单条数据插入:

$database = new medoo("my_database");

$last_user_id = $database->insert("account", array(
	"user_name" => "foo",
	"email" => "[email protected]",
	"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" => "[email protected]",
		"age" => 25,
		"city" => "New York",
		"lang" => array("en", "fr", "jp", "cn")
	),
	array(
		"user_name" => "bar",
		"email" => "[email protected]",
		"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”,两个键的值是递增的数字


你可能感兴趣的:(Medoo)