最初の関数は、最後の機能は、私はこの1つの例のようなエラーが出るPHPスクレーパーは
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'
}
あるこの
$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
であるMySQLデータベースエラーに書き込む
「こんにちは大親穀物土星、Virmoグレート!あなたは アンティーク賞賛と貿易Aggrediorあり、ソースを開封してみろ。 メアリー。ギア。 1 2.あなたが、私の主よ、農村色合い 賞賛、2および英国の公共投稿が引退から、長い11月3日 は、自分に有利 あなたのケースを犠牲にするために、彼女の恩知らずの子供たちを、4喜ばせるために、 5私を外国レルムの私の運命 伝える、不滅の実り国を通じて6は産む、7つの ソフトの海
に「英国のそれがために必要かどうかわからない
イムをエスケープされていません」 「または\」
が、私はこのエラーを解決する方法を知っているとSQL dBですべてを書くために完了できるようにしたいと思い
あなたはあなたのを逃れるためにPHPの mysql_real_escape_string機能を使用する必要があります
1 1 mysql_real_escape_stringのを実行する前に、SQLに接続することを読みました。私の状況での1は私がPoem.csvから情報を読み取ったデータをこすりとPoems.csvでそれらを保存し、SQL DBに書き込むように。どのポストで述べた最初の関数のためのmysql_real_escape_stringの1を置くことができるのだろうか?ファイルにデータを書き込む際 – merrill
あなたは '$のquery'変数を構築するときに、あなたがそれを使用し、それを使用しないでください!これらの関数を使用して上の例については、PHPマニュアルをお読みください。 ($のAUTHOR_NAME [$ I])をmysql_real_escape_stringのあなたがそれを置くだろうか。この場合:) – deceze
。...'。しかし、実際に、見てPDOと準備された文?に – merrill