php MySql ПРОБЛЕМ
3 отговора
136 прегледа
php MySql ПРОБЛЕМ
Тази заявка ми работи:
mysql_query("INSERT INTO tbl_kr_he13 (col_nom, col_kod, col_ip) values ($txt_nom, $c, $c) ");
но как да вкарам в следващите 40 колони, стойностите на елементите на масива а? С долния ред се появяват успешно на екрана:
for($i=0;$i<count($a);$i++){ echo "a $i=",$a[$i], '
'; }
И още като какъв тип дании в MySQL се съхранява ip адреса (ot $HTTP_SERVER_VARS["REMOTE_ADDR"])??
mysql_query("INSERT INTO tbl_kr_he13 (col_nom, col_kod, col_ip) values ($txt_nom, $c, $c) ");
но как да вкарам в следващите 40 колони, стойностите на елементите на масива а? С долния ред се появяват успешно на екрана:
for($i=0;$i<count($a);$i++){ echo "a $i=",$a[$i], '
'; }
И още като какъв тип дании в MySQL се съхранява ip адреса (ot $HTTP_SERVER_VARS["REMOTE_ADDR"])??
Re: php MySql ПРОБЛЕМ
for($i=0;$i<count($a);$i++){
mysql_query("INSERT INTO tbl_kr_he13 (col_nom, col_kod, col_ip) values ($i, ".$a[$i].", $c) ");
}
$HTTP_SERVER_VARS["REMOTE_ADDR"] -> polzvai varchar (15) s default 0.0.0.
mysql_query("INSERT INTO tbl_kr_he13 (col_nom, col_kod, col_ip) values ($i, ".$a[$i].", $c) ");
}
$HTTP_SERVER_VARS["REMOTE_ADDR"] -> polzvai varchar (15) s default 0.0.0.
Re: php MySql ПРОБЛЕМ
Благодаря!
А се оказа, че съм пропуснала кавичките при въвеждането на ip адреса и затова не ставало.
А се оказа, че съм пропуснала кавичките при въвеждането на ip адреса и затова не ставало.
Re: php MySql ПРОБЛЕМ
Силно ти препоръчвам да съхраняваш IP адресите като
IP INT UNSIGNED
причината е в пространството - INT заема 4 байта - точно колкото всъщност е вътрешното представяне на IPv4 32 бита или 4 байта
Сравни го с 15-те байта необходими за да се съхрани
255.255.255.255
Това прави разлика от 11 байта на колонка по брой на редовете.
Дори само 1 адрес да пазиш на ред - при 1 000 000 реда разликата става 10 Мб.
Отделно от това всички операции с INT са по-бързи а и индексите са по-компактни.
За целта са прочети за функциите INET_NTOA() INET_ATON()'
INSERT INTO ... VALUES(INET_ATON('10.10.0.0'));
SELECT INET_NTOA(ip) ....
salle.online.bg/sig
IP INT UNSIGNED
причината е в пространството - INT заема 4 байта - точно колкото всъщност е вътрешното представяне на IPv4 32 бита или 4 байта
Сравни го с 15-те байта необходими за да се съхрани
255.255.255.255
Това прави разлика от 11 байта на колонка по брой на редовете.
Дори само 1 адрес да пазиш на ред - при 1 000 000 реда разликата става 10 Мб.
Отделно от това всички операции с INT са по-бързи а и индексите са по-компактни.
За целта са прочети за функциите INET_NTOA() INET_ATON()'
INSERT INTO ... VALUES(INET_ATON('10.10.0.0'));
SELECT INET_NTOA(ip) ....
salle.online.bg/sig