sql error, offset?

Status
Niet open voor verdere reacties.

Example5

Terugkerende gebruiker
Lid geworden
9 mrt 2008
Berichten
2.172
beste...

ik heb voor mij website de volgende code om een 'update' uit te voeren:
Code:
<?php

<hier wat database gegevens, pass etc>

$dbh = mysql_connect("$server","$username","$password");

mysql_select_db($database);

$count=0;
$fans=0;
$sql = "select * from main";

$result = mysql_query($sql) or die(mysql_error());

while($row = mysql_fetch_array($result)){
$ID = $row["id"];

$curl = curl_init();
$url = 'http://www.facebook.com/plugins/like.php?href=http://www.beastylikes.com/?id=' . $ID . '&layout=button_count';
$useragent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; pt-PT; rv:1.9.1) Gecko/20090624 Firefox/3.5';
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_USERAGENT,$useragent);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,true);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,2);
curl_setopt($curl,CURLOPT_CAINFO,getcwd()."\optimus_secure.crt");
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
$contents = curl_exec($curl);
curl_close($curl); 
//echo $contents . "<br>";
$find = '<span class="connect_widget_connected_text hidden_elem">';

$position = strpos($contents,$find);
$position += strlen('<span class="connect_widget_connected_text hidden_elem">');
$find = '</span>';

$end = strpos($contents,$find,$position);

$gap = substr($contents,$position,$end-$position);
$gap = str_replace(",", "", $gap);
$gap = str_replace("K", "000", $gap);
$gap = str_replace("k", "000", $gap);
$sql = "UPDATE main SET est='" . $gap . "' WHERE id=" . (int)$ID;
//echo $gap;
//echo $sql;
mysql_query($sql) or die(mysql_error());
//echo $r;
$count++;
$fans += $gap;
ob_flush();
flush();
echo "Complete. ID " . $row['id'] . "<br>";

}

echo "Completed " . $count . " rows.";
echo "Total fans : " . $fans;
mysql_close($dbh);




//

//$position = strpos($str,$find);

//$find = '</span>';

//$end = strpos($str,$find,$position);

//$gap = substr($str,$position,$end);

//echo $position;
//echo $end;

//$html = str_get_html($str); 
//echo $str;



echo "fag.";
?>

ik krijg bij regel 40 een foutmelding over de strpos.

EDIT: DIT IS DE ERROR: Warning: strpos() [function.strpos]: Offset not contained in string in /home/beastyl1/public_html/blalbalblalbal.php on line 40
Complete. ID 1041

weet iemand wat hiermee het probleem is en hoe ik dit kan verhelpen?

sorry, het is nogal een chaotische code, maar ik krijg af en toe een error en af en toe niet... heel vaag dus.

alvast bedankt voor de eventuele hulp/moeite.
 
Laatst bewerkt:
Tis een PHP error, niet SQL. Het lijkt erop dat je $position die je meegeeft aan de strpos() functie om iets te zoeken in een string buiten de string zelf ligt. Dus je wilt bijv vanaf de 10e letter zoeken naar 'hoi' in de tekst 'oh hoi' die maar 6 letters bevat; dat is dus niet mogelijk omdat je begint met zoeken buiten de bestaande string.
 
hmm maar hoe kan het dat het af en toe wel werkt, maar zo nu en dan niet? want hij zoekt telkens in dezelfde regels...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan