В строке нет ни одной кавычки (моя _emphasis_ добавлена):
"amcafee: #andyasks Что должны сделать участники конференции Enterprise 2.0, пока они ** _'_ ** находятся в Бостоне в конце этого месяца? # E2conf"
Пустая одинарная кавычка интерпретируется MySQL как конец первого значения и превращает остальную часть запроса в бессмысленный. Вы должны избегать одинарных кавычек (т.е. превращать «они» в «они»), чтобы MySQL знал, что одинарные кавычки являются частью вашей строки. Кстати, трюки с одинарными кавычками являются основным источником атак с использованием SQL-инъекций, поэтому вы всегда должны быть осторожны с одинарными кавычками.
Если вы используете расширение mysql
, вы всегда должны использовать функцию mysql_real_escape_string
для любых ненадежных данных:
$url = "http://search.twitter.com/search.jsonq=&ands=&phrase=&ors=¬s=RT%2C+%40&tag=andyasks&lang=all&from=amcafee&to=&ref=&near=&within=15&units=mi&since=&until=&rpp=50";
$contents = file_get_contents($url);
$decode = json_decode($contents, true);
foreach($decode['results'] as $current)
{
$query = "INSERT IGNORE INTO andyasks (questions, date, user) VALUES ('$current[text]','$current[created_at]','Andy')";
if(preg_match("/\?/", "$current[text]"))
{
mysql_real_escape_string($query);
mysql_query($query);
}
}