所以我有這個腳本需要一堆json文件並將它們發送到我的數據庫。該腳本文件的8777工作正常,但我得到了下面的MySQL語法錯誤的文件70:「你的SQL語法錯誤」發生在8777次中的70次
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Shea', '', '190', '1981-4-30', 'Right', '106', '13', '25', '65', '39', '64', '61' at line 1
這裏是我使用的循環,我爲長查詢道歉:
For($id=1; $id<=205600; $id++)
{
if (file_exists('data/players/'.$id.'.json'))
{
//read json file
$json_file = file_get_contents('data/players/'.$id.'.json');
$file_data = json_decode($json_file, true);
//my super long query
$query = 'INSERT INTO `db`.`table` (`id`, `first_name`, `last_name`, `common_name`, `height`, `dob`, `foot`, `club_id`, `league_id`, `nation_id`, `attribute1`, `attribute2`, `attribute3`, `attribute4`, `attribute5`, `attribute6`, `rare`, `rating`, `type`) VALUES (\''.$id.'\', \''.$file_data['Player']['FirstName'].'\', \''.$file_data['Player']['LastName'].'\', \''.$file_data['Player']['CommonName'].'\', \''.$file_data['Player']['Height'].'\', \''.$dob.'\', \''.$file_data['Player']['PreferredFoot'].'\', \''.$file_data['Player']['ClubId'].'\', \''.$file_data['Player']['LeagueId'].'\', \''.$file_data['Player']['NationId'].'\', \''.$file_data['Player']['Attribute1'].'\', \''.$file_data['Player']['Attribute2'].'\', \''.$file_data['Player']['Attribute3'].'\', \''.$file_data['Player']['Attribute4'].'\', \''.$file_data['Player']['Attribute5'].'\', \''.$file_data['Player']['Attribute6'].'\', \''.$file_data['Player']['Rare'].'\', \''.$file_data['Player']['Rating'].'\', \''.$file_data['Player']['ItemType'].'\');';
mysql_query($query);
//record loop status
if (mysql_error())
{
$error = mysql_error();
echo $error.'<br/>';
$errors ++;
}
else
{
$entries ++;
}
}
}
那麼我該如何解決這個錯誤?
我會假設這些70個文件有一定的格式或字符(S)目前,其他8707沒有。你知道這是什麼嗎? – 2012-08-01 22:42:51
如果'Shea','','190','1981-4-30','Right','應該對應於''id','first_name','last_name','common_name',''高度「我認爲在現場順序中有些錯誤,或者在某些記錄中可能缺少一個字段? – fvu 2012-08-01 22:45:23
我剛剛看完名單,大部分名字都顯得愛爾蘭人。所以也許這裏有一個像O'shea和O'Connor那樣的姓氏 – 2012-08-01 22:46:12