Nieuw lid |
|
Uhu, zo vaag als de titel is is het probleem ook. Ik heb een script gemaakt met curl die alles via binnenhaalt van een site en daarna een regex die twee gegevens opslaat in een array, en dat zo'n 40 keer. Op deze manier ontstaan er dus dubbele array's ($array[0][x] en $array[1][x]). Door middel van een for loop wil ik dan alle gegevens invoeren in een MySQL tabel, hier gaat het echter fout. Ik heb voor de zekerheid in mijn script al ingebouwd dat hij de vars echoed zodat ik sneller zie wat het probleem is. Op de pagina werkt de echo perfect; alle gegevens worden netjes geechoed zoals het zou moeten. Als ik echter 1 regel eronder het wil invoeren in de database gaat het fout. Een getal uit de zin uit de bron van de site wordt prima ingevoerd (1e kolom). Een woord uit dezelfde zin uit de bron wordt echter niet goed ingevoerd (2e kolom). In plaats van het woord, wat dus wel prima wordt geechoed, wordt de hele zin uit de bron ingevoerd (deze wordt echter afgekapt aangezien ik het maximum heb ingesteld op 12).
Ik, en een paar anderen met mij, hebben echt totaal geen idee waarom de inhoud van de var van de ene op de andere zin verandert, iemand die de fout kan vinden?
Het is een aardig scriptje, maar dit is het deel waar het om gaat:
preg_match_all($regex, $data, $regs);
$a = count($regs[0]);
for ($x = 0;$x < $a;$x++) {
echo $regs[0][$x];
echo $regs[1][$x];
mysql_query("INSERT INTO `Tabel` VALUES (".$regs[1][$x].",'".$regs[0][$x]."','true')");
}
for ($x = 0;$x < $a;$x++) { mysql_query("INSERT INTO `Tabel` VALUES (".$regs[1][$x].",'".$regs[0][$x]."','true')"); }
|