Как вставить типы varchar в базу данных mysqli, используя команду prepare и bind.Zero вставляется вместо значений [Insert Query Using Prepare statement]
Вот мой код для подготовки
$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 является ИНТ
FILTER_NAME VARCHAR
creat_by является VARCHAR
SourceIP является VARCHAR Ввод ip-адрес li ка 10.10.10.1 в таблице БД возвращает 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, но при вставке ip-адреса, такого как 10.10.10.1, тогда 0 сохраняется в db.
bind_param поддерживает 4 типа
я Int
d двойной
s строка
б блоб
Что я должен использовать для поддержки значений с обоих чисел и алфавитов?