Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
1, 添加数据: 在db.function.php文件中增加了db_insert函数, 方便我们进行数据插入操作。db_insert有三参数: db_insert($table,$data,$replace=false);
table:要插入的表
data:插入的数据,可以是数组或字符串
replace: 默认为false,以insert into方式插入,如果为true则以replace into的方式插入。
使用举例:
$setarr=array(
‘key1’=>v(‘key1’),
‘key2’=>v(‘key2’)
);
db_insert(‘table’,$setarr);
当data为数组是,数组的下标对应数据表中的字段名称,数组的值对应数据表字段的值。数据插入前不需要用s函数对数据进行过滤, db_insert 函数内部已经自动对数据进行了安全过滤。
我们还可以写得更简单:
db_insert(‘table’,’key1,key2’);
当data是字符串时。 用逗号隔开需要插入的字段。此时db_insert函数内部会自动获得表单中的数据,这样使用时,需要注意表单中文本域的name值要和数据表中的字段名称一致。
如果想提交的数据使用指定函数过滤:
db_insert(‘table’,’key1,key2:filter’); 。表示key1,key2的数据都会被filter函数过滤。在字符串的最后用冒号+函数名表示过滤函数, 这样的过滤函数会作用在所有字段上。 ,如果想某个字段不被过滤函数过滤:
db_insert(‘table’,’key1,^key2,key3:filter’); 。 在字段名称前加上^ 符号,表示这个字段数据不被过滤函数过滤。
你还可以给每个字段单独定义过滤函数
db_insert(‘table’,’key1|fun1,key2|fun2,key3|fun3’);
在每个字段的后面用 竖线加上函数名的形式表示定义单独的过滤函数, 上面的代码表示, key1用fun1过滤,key2用fun2过滤, key3用fun3过滤。
一个复杂点的例子:
db_insert(‘table’,’key1|fun1,^key2|fun2,key3|fun3:filter’);
表示 key1和key3都会被fun1和filte过滤;key2不被filter过滤,用fun2过滤;
还可以这样使用:
db_insert(‘table’,’!key1,key2’); 表示提交的表单中,除了key1和key2,其他字段都存入数据库。
同样也可以定义过滤函数: db_insert(‘table’,’!key1,key2:filter’); 所有存入的数据都会被filter函数过滤。
2, 修改数据, 在db.function.php中增加了 db_update函数,方便我们进行更新数据。它有三个参数。
db_update($table,$data,$where);
table:要更新的数据表
data:要更新的数据
where:更新条件
其中table和data参数的用法和db_insert一样,这里不再做多余的说明。
使用实例:
db_update(‘table’,’key1,key2’,’where id=1’);