第一功能是本PHP刮刀寫入到MySQL數據庫錯誤
$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'
}
我得到這樣一個例子錯誤
「你好大父母穀物土星,Virmo大!您是 仿古讚譽和貿易Aggredior,敢於開封來源。 瑪麗。齒輪。 1 2.當你,我的上帝,農村色調 佩服,2和來自英國的公共職位退休,11月3日 更長的時間,請她忘恩負義的孩子,4個自己的優勢 犧牲你的情況; 5我進入外資的領域我的命運 傳達,6通過國家卓有成效的不朽的規定,7個其中 軟海域
的「英國沒有逃脫
林如果它需要是不知道」 「或\」
,但我想知道如何解決這個錯誤,並能夠完成編寫所有的SQL數據庫
11已經閱讀了連接執行mysql_real_escape_string之前的SQL。 1在我的處境刮數據,並將它們保存在Poems.csv和寫入到SQL數據庫,我讀了Poem.csv的信息。如何能夠把mysql_real_escape_string 1帖子中提到的第一個函數? – merrill 2012-01-06 05:25:38
數據寫入文件時,您不使用它,你構建你的'$ query'變量時使用它!請閱讀PHP手冊中有關使用這些函數的例子。 – deceze 2012-01-06 05:34:04
在這種情況下,你將如何把它:) – merrill 2012-01-06 09:33:47