Forum Webscript.Ru
Программирование => PHP => Тема начата: Xander от 12 Сентября 2003, 22:00:29
-
Заливаю данные в базу из tab-separated текстового файла. Все хорошо, но неясно, как проводить проверку на предмет того, все ли правильно вставилось. То есть может быть испорченное значение в какой-то из колонок файла, и в таблицу в результате пойдет 0 вместо числа. Консоль MySQL при этом говорит что-то вроде blah-blah-blah Warnings:1, а вот как до числа этих предупреждений добраться из PHP?
Описанной в доках функции "mysql_info()" в PHP я не обнаружил, а mysql_error() молчит, даже если при заливке данных были ошибки.
Или надо просто проверять этот файл отдельным скриптом построчно перед заливкой?
P.S. на бесплатных хостингах с MySQL обычно привилегию FILE дают или нет?
-
Xander:
mysql_error() молчит, даже если при заливке данных были ошибки.
Это ещё как? Покажи свой ошибочный запрос.
-
Яможет быть голупость скажу, но я писал бы для заливки скрипт, который бы по отдельности рассматривал колонки файлов и заливал бы их значение в базу, а для проверки я бы брал mysql_affected_rows();
Может я что-то неправильно понял, но я только хотел помочь....
-
Suckerlove
Да нет, ты все правильно говоришь. Я наверное так и сделаю.
Единственное соображение contra такое: LOAD DATA INFILE - очень быстрая штука, ну а с какой скоростью пройдут INSERTы числом строк в файле ты и сам понимаешь. Не изячно выходит %)
Tronyx
Ну сам попробуй. Допустим, у тебя есть tab-separated файл, а в нем в одной из строк вместо числа - слово. При заливке такого файла в таблицу соответствующего формата тебе будет выдан warning, а в таблицу пойдет NULL или 0.
-
Xander
если честно, с функцией LOAD DATA INFILE я не знаком, по этому делал бы все равно инсертами....
-
Xander:
Описанной в доках функции "mysql_info()" в PHP я не обнаружил
А куда делась?
У меня есть...
правда при использовании этой функции иногда пхп вылетал....
-
а мой завявил, что знать такой не знает.
-
usage: string mysql_info ( [resource link_identifier ] )
available since: PHP 4 >= 4.3.0
значится у тебя сто пудов не 4.3.*
=)
-
nagash
спасибо. Как только свежий пхп солью, так и скажу - поолучилось что-нибудь, или нет.