И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
altmax
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-11-04 20:56:53
Непрочитанное сообщение
altmax » 2011-02-22 8:37:34
Имеется парсер, который парсит XML в базу данных. С самим парсингом проблемы нет, есть проблема с добавлением новых значений в существующие записи базы данных.
Код: Выделить всё
function characterData($parser, $data)
{
print $data."<br>";
if ($GLOBALS[startflag] ==1 and $data != "" and $GLOBALS[tag] != "OFFERS" and $GLOBALS[tag] != "OFFER"){
mysql_query ("UPDATE table1 SET $GLOBALS[tag]='$data' WHERE ID='$GLOBALS[id]'") or die ("errorupdate".mysql_error());
print $data."<br>";
}
}
$data - значение элемента в XML файле. Код в принципе работает, только вместо значения элемента в базу данных добавляются 7 пробелов и всё. Не нравится именно эта переменная, так как если вместо неё подставить любую другую из существующих в программе, в том числе динамически формирующуюся на основе XMl файла, записывается нормально. Тип полей в базе данных - TEXT.
Вопрос - почему это происходит и как с этим бороться?
P.S. это мой первый опыт работы с Mysql.
altmax
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2011-02-22 12:51:03
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
altmax
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-11-04 20:56:53
Непрочитанное сообщение
altmax » 2011-02-22 13:43:16
Вывод var_dump($GLOBALS):
Код: Выделить всё
array(19) {
["GLOBALS"]=>
array(19) {
["GLOBALS"]=>
*RECURSION*
["_ENV"]=>
array(6) {
["APACHE_PID_FILE"]=>
string(20) "/var/run/apache2.pid"
["PATH"]=>
string(28) "/usr/local/bin:/usr/bin:/bin"
["LANG"]=>
string(1) "C"
["APACHE_RUN_GROUP"]=>
string(8) "www-data"
["APACHE_RUN_USER"]=>
string(8) "www-data"
["PWD"]=>
string(1) "/"
}
["HTTP_ENV_VARS"]=>
array(6) {
["APACHE_PID_FILE"]=>
string(20) "/var/run/apache2.pid"
["PATH"]=>
string(28) "/usr/local/bin:/usr/bin:/bin"
["LANG"]=>
string(1) "C"
["APACHE_RUN_GROUP"]=>
string(8) "www-data"
["APACHE_RUN_USER"]=>
string(8) "www-data"
["PWD"]=>
string(1) "/"
}
["_POST"]=>
array(0) {
}
["HTTP_POST_VARS"]=>
array(0) {
}
["_GET"]=>
array(0) {
}
["HTTP_GET_VARS"]=>
array(0) {
}
["_COOKIE"]=>
array(3) {
["fontSize"]=>
string(3) "100"
["language"]=>
string(2) "ru"
["currency"]=>
string(3) "GBP"
}
["HTTP_COOKIE_VARS"]=>
array(3) {
["fontSize"]=>
string(3) "100"
["language"]=>
string(2) "ru"
["currency"]=>
string(3) "GBP"
}
["_SERVER"]=>
array(32) {
["HTTP_HOST"]=>
string(9) "127.0.0.1"
["HTTP_USER_AGENT"]=>
string(102) "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11"
["HTTP_ACCEPT"]=>
string(63) "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
["HTTP_ACCEPT_LANGUAGE"]=>
string(23) "ru,en-us;q=0.7,en;q=0.3"
["HTTP_ACCEPT_ENCODING"]=>
string(12) "gzip,deflate"
["HTTP_ACCEPT_CHARSET"]=>
string(32) "windows-1251,utf-8;q=0.7,*;q=0.7"
["HTTP_KEEP_ALIVE"]=>
string(3) "300"
["HTTP_CONNECTION"]=>
string(10) "keep-alive"
["HTTP_REFERER"]=>
string(17) "http://127.0.0.1/"
["HTTP_COOKIE"]=>
string(39) "fontSize=100; language=ru; currency=GBP"
["HTTP_CACHE_CONTROL"]=>
string(9) "max-age=0"
["PATH"]=>
string(28) "/usr/local/bin:/usr/bin:/bin"
["SERVER_SIGNATURE"]=>
string(110) "
Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch Server at 127.0.0.1 Port 80
"
["SERVER_SOFTWARE"]=>
string(62) "Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch"
["SERVER_NAME"]=>
string(9) "127.0.0.1"
["SERVER_ADDR"]=>
string(9) "127.0.0.1"
["SERVER_PORT"]=>
string(2) "80"
["REMOTE_ADDR"]=>
string(9) "127.0.0.1"
["DOCUMENT_ROOT"]=>
string(8) "/var/www"
["SERVER_ADMIN"]=>
string(19) "webmaster@localhost"
["SCRIPT_FILENAME"]=>
string(25) "/var/www/parser/index.php"
["REMOTE_PORT"]=>
string(5) "38044"
["GATEWAY_INTERFACE"]=>
string(7) "CGI/1.1"
["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.1"
["REQUEST_METHOD"]=>
string(3) "GET"
["QUERY_STRING"]=>
string(0) ""
["REQUEST_URI"]=>
string(8) "/parser/"
["SCRIPT_NAME"]=>
string(17) "/parser/index.php"
["PHP_SELF"]=>
string(17) "/parser/index.php"
["REQUEST_TIME"]=>
int(1298370618)
["argv"]=>
array(0) {
}
["argc"]=>
int(0)
}
["HTTP_SERVER_VARS"]=>
array(32) {
["HTTP_HOST"]=>
string(9) "127.0.0.1"
["HTTP_USER_AGENT"]=>
string(102) "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11"
["HTTP_ACCEPT"]=>
string(63) "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
["HTTP_ACCEPT_LANGUAGE"]=>
string(23) "ru,en-us;q=0.7,en;q=0.3"
["HTTP_ACCEPT_ENCODING"]=>
string(12) "gzip,deflate"
["HTTP_ACCEPT_CHARSET"]=>
string(32) "windows-1251,utf-8;q=0.7,*;q=0.7"
["HTTP_KEEP_ALIVE"]=>
string(3) "300"
["HTTP_CONNECTION"]=>
string(10) "keep-alive"
["HTTP_REFERER"]=>
string(17) "http://127.0.0.1/"
["HTTP_COOKIE"]=>
string(39) "fontSize=100; language=ru; currency=GBP"
["HTTP_CACHE_CONTROL"]=>
string(9) "max-age=0"
["PATH"]=>
string(28) "/usr/local/bin:/usr/bin:/bin"
["SERVER_SIGNATURE"]=>
string(110) "
Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch Server at 127.0.0.1 Port 80
"
["SERVER_SOFTWARE"]=>
string(62) "Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch"
["SERVER_NAME"]=>
string(9) "127.0.0.1"
["SERVER_ADDR"]=>
string(9) "127.0.0.1"
["SERVER_PORT"]=>
string(2) "80"
["REMOTE_ADDR"]=>
string(9) "127.0.0.1"
["DOCUMENT_ROOT"]=>
string(8) "/var/www"
["SERVER_ADMIN"]=>
string(19) "webmaster@localhost"
["SCRIPT_FILENAME"]=>
string(25) "/var/www/parser/index.php"
["REMOTE_PORT"]=>
string(5) "38044"
["GATEWAY_INTERFACE"]=>
string(7) "CGI/1.1"
["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.1"
["REQUEST_METHOD"]=>
string(3) "GET"
["QUERY_STRING"]=>
string(0) ""
["REQUEST_URI"]=>
string(8) "/parser/"
["SCRIPT_NAME"]=>
string(17) "/parser/index.php"
["PHP_SELF"]=>
string(17) "/parser/index.php"
["REQUEST_TIME"]=>
int(1298370618)
["argv"]=>
array(0) {
}
["argc"]=>
int(0)
}
["_FILES"]=>
array(0) {
}
["HTTP_POST_FILES"]=>
array(0) {
}
["_REQUEST"]=>
array(3) {
["fontSize"]=>
string(3) "100"
["language"]=>
string(2) "ru"
["currency"]=>
string(3) "GBP"
}
["file"]=>
string(7) "one.xml"
["startflag"]=>
int(0)
["tag"]=>
int(0)
["telo"]=>
string(0) ""
["id"]=>
int(0)
}
["_ENV"]=>
array(6) {
["APACHE_PID_FILE"]=>
string(20) "/var/run/apache2.pid"
["PATH"]=>
string(28) "/usr/local/bin:/usr/bin:/bin"
["LANG"]=>
string(1) "C"
["APACHE_RUN_GROUP"]=>
string(8) "www-data"
["APACHE_RUN_USER"]=>
string(8) "www-data"
["PWD"]=>
string(1) "/"
}
["HTTP_ENV_VARS"]=>
array(6) {
["APACHE_PID_FILE"]=>
string(20) "/var/run/apache2.pid"
["PATH"]=>
string(28) "/usr/local/bin:/usr/bin:/bin"
["LANG"]=>
string(1) "C"
["APACHE_RUN_GROUP"]=>
string(8) "www-data"
["APACHE_RUN_USER"]=>
string(8) "www-data"
["PWD"]=>
string(1) "/"
}
["_POST"]=>
array(0) {
}
["HTTP_POST_VARS"]=>
array(0) {
}
["_GET"]=>
array(0) {
}
["HTTP_GET_VARS"]=>
array(0) {
}
["_COOKIE"]=>
array(3) {
["fontSize"]=>
string(3) "100"
["language"]=>
string(2) "ru"
["currency"]=>
string(3) "GBP"
}
["HTTP_COOKIE_VARS"]=>
array(3) {
["fontSize"]=>
string(3) "100"
["language"]=>
string(2) "ru"
["currency"]=>
string(3) "GBP"
}
["_SERVER"]=>
array(32) {
["HTTP_HOST"]=>
string(9) "127.0.0.1"
["HTTP_USER_AGENT"]=>
string(102) "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11"
["HTTP_ACCEPT"]=>
string(63) "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
["HTTP_ACCEPT_LANGUAGE"]=>
string(23) "ru,en-us;q=0.7,en;q=0.3"
["HTTP_ACCEPT_ENCODING"]=>
string(12) "gzip,deflate"
["HTTP_ACCEPT_CHARSET"]=>
string(32) "windows-1251,utf-8;q=0.7,*;q=0.7"
["HTTP_KEEP_ALIVE"]=>
string(3) "300"
["HTTP_CONNECTION"]=>
string(10) "keep-alive"
["HTTP_REFERER"]=>
string(17) "http://127.0.0.1/"
["HTTP_COOKIE"]=>
string(39) "fontSize=100; language=ru; currency=GBP"
["HTTP_CACHE_CONTROL"]=>
string(9) "max-age=0"
["PATH"]=>
string(28) "/usr/local/bin:/usr/bin:/bin"
["SERVER_SIGNATURE"]=>
string(110) "
Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch Server at 127.0.0.1 Port 80
"
["SERVER_SOFTWARE"]=>
string(62) "Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch"
["SERVER_NAME"]=>
string(9) "127.0.0.1"
["SERVER_ADDR"]=>
string(9) "127.0.0.1"
["SERVER_PORT"]=>
string(2) "80"
["REMOTE_ADDR"]=>
string(9) "127.0.0.1"
["DOCUMENT_ROOT"]=>
string(8) "/var/www"
["SERVER_ADMIN"]=>
string(19) "webmaster@localhost"
["SCRIPT_FILENAME"]=>
string(25) "/var/www/parser/index.php"
["REMOTE_PORT"]=>
string(5) "38044"
["GATEWAY_INTERFACE"]=>
string(7) "CGI/1.1"
["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.1"
["REQUEST_METHOD"]=>
string(3) "GET"
["QUERY_STRING"]=>
string(0) ""
["REQUEST_URI"]=>
string(8) "/parser/"
["SCRIPT_NAME"]=>
string(17) "/parser/index.php"
["PHP_SELF"]=>
string(17) "/parser/index.php"
["REQUEST_TIME"]=>
int(1298370618)
["argv"]=>
array(0) {
}
["argc"]=>
int(0)
}
["HTTP_SERVER_VARS"]=>
array(32) {
["HTTP_HOST"]=>
string(9) "127.0.0.1"
["HTTP_USER_AGENT"]=>
string(102) "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.11) Gecko/2009060308 Ubuntu/9.04 (jaunty) Firefox/3.0.11"
["HTTP_ACCEPT"]=>
string(63) "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
["HTTP_ACCEPT_LANGUAGE"]=>
string(23) "ru,en-us;q=0.7,en;q=0.3"
["HTTP_ACCEPT_ENCODING"]=>
string(12) "gzip,deflate"
["HTTP_ACCEPT_CHARSET"]=>
string(32) "windows-1251,utf-8;q=0.7,*;q=0.7"
["HTTP_KEEP_ALIVE"]=>
string(3) "300"
["HTTP_CONNECTION"]=>
string(10) "keep-alive"
["HTTP_REFERER"]=>
string(17) "http://127.0.0.1/"
["HTTP_COOKIE"]=>
string(39) "fontSize=100; language=ru; currency=GBP"
["HTTP_CACHE_CONTROL"]=>
string(9) "max-age=0"
["PATH"]=>
string(28) "/usr/local/bin:/usr/bin:/bin"
["SERVER_SIGNATURE"]=>
string(110) "
Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch Server at 127.0.0.1 Port 80
"
["SERVER_SOFTWARE"]=>
string(62) "Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch"
["SERVER_NAME"]=>
string(9) "127.0.0.1"
["SERVER_ADDR"]=>
string(9) "127.0.0.1"
["SERVER_PORT"]=>
string(2) "80"
["REMOTE_ADDR"]=>
string(9) "127.0.0.1"
["DOCUMENT_ROOT"]=>
string(8) "/var/www"
["SERVER_ADMIN"]=>
string(19) "webmaster@localhost"
["SCRIPT_FILENAME"]=>
string(25) "/var/www/parser/index.php"
["REMOTE_PORT"]=>
string(5) "38044"
["GATEWAY_INTERFACE"]=>
string(7) "CGI/1.1"
["SERVER_PROTOCOL"]=>
string(8) "HTTP/1.1"
["REQUEST_METHOD"]=>
string(3) "GET"
["QUERY_STRING"]=>
string(0) ""
["REQUEST_URI"]=>
string(8) "/parser/"
["SCRIPT_NAME"]=>
string(17) "/parser/index.php"
["PHP_SELF"]=>
string(17) "/parser/index.php"
["REQUEST_TIME"]=>
int(1298370618)
["argv"]=>
array(0) {
}
["argc"]=>
int(0)
}
["_FILES"]=>
array(0) {
}
["HTTP_POST_FILES"]=>
array(0) {
}
["_REQUEST"]=>
array(3) {
["fontSize"]=>
string(3) "100"
["language"]=>
string(2) "ru"
["currency"]=>
string(3) "GBP"
}
["file"]=>
string(7) "one.xml"
["startflag"]=>
int(0)
["tag"]=>
int(0)
["telo"]=>
string(0) ""
["id"]=>
int(0)
altmax
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2011-02-22 16:41:17
потому что tag и id = 0
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
altmax
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-11-04 20:56:53
Непрочитанное сообщение
altmax » 2011-02-22 16:53:42
Так они равны нулю в начале выполнения скрипта, потом в процессе выполнения им присваиваются необходимые значения. Более того, $data тоже присваивается значение, которое необходимо (print $data; выводит его на экран до и после выполнения mysql запроса). А вот в mysql запросе значения почему то не записываются в таблицу. Если тип поля таблицы изменить на bynary вместо text, то вместо семи пробелов появляется "/n". Такое ощущение, что mysql сервер не воспринимает значение Sdata как текстовые данные.
altmax
-
altmax
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2008-11-04 20:56:53
Непрочитанное сообщение
altmax » 2011-02-24 20:21:00
Сделал что нужно средствами simpleXML. Сабж заставить работать не удалось.
altmax