最初の関数はこれです
$output_csv = fopen( "Poems.csv", "w" );
..code here
$poem_text = trim($pre->innertext);
$poem_text = str_replace('"','',$poem_text);
$poem_text = html_entity_decode($poem_text);
$poem_text = str_replace(array('\\', "\0", "\n", "\r", "\t", "\x1a")," ",$poem_text);
...code here
$p
oem_data = array( $author_names[$i], $poem_names[$i], $poem_text, $poem_urls[$i] );
fputcsv( $output_csv, $poem_data );
...code here
最後の関数は
function writeQuotestoDb() {
$input_csv = fopen( "Poems.csv", "r" );
$author_names = array();
$poem_names = array();
$poem_text = array();
$poem_urls = array();
while (($columns = fgetcsv($input_csv, 1000, ",")) !== FALSE) {
array_push( $author_names, $columns[0] );
array_push( $poem_names, $columns[1] );
array_push( $poem_text, $columns[2]);
array_push( $poem_urls, $columns[3] );
}
fclose( $input_csv );
//$dbh = mysql_connect( 'localhost', 'poetiv', 'alegado' );
$dbh = mysql_connect( 'localhost', 'root', '' );
mysql_select_db( 'test', $dbh );
mysql_query("CREATE TABLE IF NOT EXISTS `poem2` (
`id` INT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`author_name` varchar(128) DEFAULT NULL,
`poem_name` varchar(128) DEFAULT NULL,
`poem_text` text,
`poem_url` varchar(1024) DEFAULT NULL
) ENGINE = MYISAM");
mysql_query("TRUNCATE `poem2`");
for ( $i=0; $i<count($author_names); $i++ ) {
$poems[$i] = substr($poems[$i],7,(strlen($poems[$i])-14));
$poems[$i] = str_replace('"','',$poems[$i]);
$query = "insert into poem2 (author_name,poem_name,poem_text,poem_url) values
('" . $author_names[$i] . "', '" . $poem_names[$i]."', '" . $poem_text[$i]."', '" .$poem_urls[$i] ."')";
if( !mysql_query($query) ) { echo $query;
}
}
echo count($author_names)." rows....successfully db updated";
//SELECT count(*) FROM `quotes` WHERE criteria = 'Baby Quotes'
}
この一例のようなエラーが発生します
'Salve magna parens frugum Saturnia tellus, Magna virm! tibi res antiqu laudis et artis Aggredior, sanctos ausus recludere fontes. 処女。ゲオル。2. 1 あなた、私の主よ、田舎の影が賞賛する間、 2 そしてブリタニアの公職から引退します、 3 もはや、彼女の恩知らずの息子たちを喜ばせるために、 4 彼らの利益のためにあなたの安らぎを犠牲にします。5 私は私の運命が運ぶ外国の領域へ、 6 不滅の産卵が実り多い国を通り抜け、 7 柔らかい海
ブリタニアの ' はエスケープされません
「または\」にする必要があるかどうかわかりません
しかし、私はこのエラーを解決する方法を知りたいと思います.SQL dbにすべてを書き込むことができます.