如何使用prepare和bind将varchar类型插入mysqli数据库。
这是我准备的代码
$ins_filter = $con->prepare("INSERT INTO http_filter ( filter_id , filter_name , created_by , src_ip_address_from , src_ip_address_to , src_mac_address , des_ip_address_from , des_ip_address_to , des_mac_address , website_name , content_type , timestamp_start , timestamp_end , sql_q ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
绑定
$ins_filter->bind_param("isiiisiissssss",$filter_id,$filter_name, $creat_by,$sourceip,$destip,$smaf,$dia_sourceip,$dia_destip,$dmaf,$url_address,$content_type,$start_time, $end_time,$f_data_slash);
$ins_filter->execute();
架构:
filter_id是int
filter_name varchar
creat_by是varchar
sourceip是varchar在db表中输入类似10.10.10.1的ip地址返回0而不是ip地址
destip是varchar
smaf是varchar
dia_sourceip是varchar
dia_destip是varchar
dmaf是varchar
url_address是varchar
content_type是varchar,
start_time是varchar
end_time是varchar
f_data_slash是varchar
问题:
插入文本值时插入它会存储在db中,但是当插入10.10.10.1之类的ip地址时,0会存储在db中。
bind_param支持4种类型
我int
d双
s string
b blob
我应该使用什么来支持包含整数和字母的值?
答案 0 :(得分:0)
如何使用prepare和bind
将Varchar类型插入mysqli数据库
为此必须使用" s" 类型修饰符。
如果使用此修饰符,但仍插入0,那么您的问题与预准备语句无关。它是数据库中的输入数据或字段类型,您必须仔细检查。