Ich habe eine Abfrage, wenn ich es mit „Echo“ zu testen, funktioniert gut:Dieses REGEXP echos eine Sache, aber tritt in MySQL ein anderes ein. Warum?
$url = "http://search.twitter.com/search.json?q=&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) {
if(preg_match("/\?/", "$current[text]")){
echo $current[text]."<br />";
}
}
Aber wenn ich es so weit ändern, um eine DB zu erstellen, verliert sie einen Datensatz:
$url = "http://search.twitter.com/search.json?q=&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_query($query);
}
}
Genauer gesagt, der Tweet, den es überspringt, ist "amcafee: #andyasks Was sollten Enterprise 2.0-Konferenzteilnehmer sicher tun, wenn sie später in diesem Monat in Boston sind? # E2conf". Dieser Echo von der ersten, wird aber auf dem DB INSERT weggelassen. Irgendwelche Gedanken?
strpos() wird einfacher und schneller sein in diesem Zusammenhang zB if (strpos ($ current ['text'], '?')! == false) –
Noch eine PHP-Funktion, um etwas über den heutigen Tag zu erfahren: Danke für den Tipp, ich bin am Punkt wo ich 90% der Funktionen nicht benutzt habe, also weiß ich nicht mal was in der Referenz nachschlagen. Vielen Dank. –