Я новичок MySQL, заканчивая кусок кода, центральный для моего webapp. Код импортирует CSV-файл (локально), который создается и очищается FileMaker и оставляет его.
Учитывая это, скоро выйдет на производство (и, вероятно, будет база данных под 500 МБ), мне бы очень хотелось узнать, есть ли какая-нибудь лучшая проверка / уловка ошибок, что я мог бы сделать, чтобы предотвратить проблемы на дороге или быть предупрежденными настройка моего сервера. Я читал информацию о журналах temp и т. Д., И мое администрирование MySQL еще не в состоянии понюхать.
Самый простой код:
$m = mysql_connect('localhost', 'mytable', 'mypassword'); $db = 'mydb'; mysql_select_db($db) or die("Import Error - Couldn't select database: " . mysql_error()); $sql = 'load data local infile "inventory.csv" into table ibl_account_details_temp fields terminated by "," optionally enclosed by "\"" lines terminated by "\r" (store_id, SKU, account, item_number, brand, description, size, category, price, qty, fees) '; echo mysql_query($sql) or die(myqsl_error());
PS EDIT: Мне также было бы интересно узнать, открыт ли этот метод импорта для SQL-инъекции?
К сожалению, обработка ошибок с infile данных загрузки очень плохая. Я использую его почти каждый день, и это стало простой процедурой для импорта во временную таблицу, и использовать комбинацию PHP и MySQL для проверки того, что было импортировано. Можно утверждать, что это дополнительная работа, но у нее есть то преимущество, что я могу полностью контролировать, что такое «ошибка». Проще говоря, я использую его, чтобы получить необработанные данные на месте, насколько это возможно, а затем создайте мои правила проверки и проверки ошибок в скрипте php.