php - What would be the correct check syntax for these strings? -
php - What would be the correct check syntax for these strings? -
i writting script checks folder k:/comics , inserts each name + number database, table name = comics. check see if comic exists before run insert queries.
table structure:
create table if not exists `comics` ( `id` int(100) not null auto_increment, `name` varchar(255) not null, `issue` varchar(4) default null, `bio` longtext not null, `pages` int(10) not null, `size` varchar(100) not null, `price` varchar(11) not null, primary key (`id`) ) engine=myisam default charset=latin1 ;
code:
<?php $main_folder = 'k:/comics/'; // should k:\comics\ changed because of highlighting issue $folders = glob($main_folder.'* [0-9]*', glob_onlydir); $comics_series = array(); foreach($folders $folder){ $comics_series[] = preg_split('/(.+)\s(\d+)/', str_replace($main_folder, '', $folder), -1, preg_split_delim_capture|preg_split_no_empty); } $values = array(); foreach($comics_series $pair){ $values[] = "('".mysql_real_escape_string($pair[0])."', '".((int) $pair[1])."')"; } $query = 'insert ignore comics (name, issue) values '.implode(',', $values); $result = mysql_query($query); echo ($result) ? 'inserted successfully' : 'failed insert values'; ?>
what thought work doesn't (still adds comics db there):
$query = 'insert ignore comics (name, issue) values '.implode(',', $values); $result = mysql_query($query); echo ($result) ? 'inserted successfully' : 'failed insert values';
what did forget?!? documentation said add together ignore
in there , work...
<?php $main_folder = 'k:/comics/'; $folders = glob($main_folder.'* [0-9]*', glob_onlydir); $comics_series = array(); foreach($folders $folder){ $comics_series[] = preg_split('/(.+)\s(\d+)/', str_replace($main_folder, '', $folder), -1, preg_split_delim_capture|preg_split_no_empty); } $values = array(); foreach($comics_series $pair){ // clean values protect against sql injection $pair = array( mysql_real_escape_string($pair[0]), mysql_real_escape_string($pair[1]) ); // add together values array, insert $values[] = "('".$pair[0]."', '".$pair[1]."')"; } $query = 'insert comics (name, issue) values '.implode(',', $values).' '. 'on duplicate key update `issue` = values(`issue`)'; $result = mysql_query($query); echo ($result) ? 'inserted successfully' : 'failed insert values'; ?>
php mysql directory
Comments
Post a Comment