[PHP/MySQL] Interface Problem

tkiela

Hüüüüäääh? :):)
25 August 2007
634
44
Hallo.
Ich habe mir gerade einen Cronjob geschrieben, der die Paidmails von Alstermarketing ausließt, und in meine Datenbank hinzufügt:

PHP:
<?php
include("../data.php");

$sql = "SELECT
                COUNT(*) as Anzahl
            FROM
                user";
    $result = mysql_query($sql) OR die(mysql_error());
    $row = mysql_fetch_assoc($result);
    $offen = $row['Anzahl'];


$fb=@fopen("https://www.alstermarketing.de/data/get.php?art=Paidmail&reload=168&verg=0.0007&offen=500&sid=xxx&uid=xxx&pw=xxx","r");

if($fb){
	while($line=fgets($fb,1000)) {
	$file1.=$line;
	}
	fclose($fb);
}
$code = explode("|", $file1);
$tl_count = ((count($code)-1)/8)-1;
$bid_lesen = 0;
for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) {
//ID|NAME|VERGÜTUNG|RELOAD|OFFEN|VERGÜTUNGSCODE|PAIDMAILTEXT|TIMER|
				 $sponsor = 0;
				 //$punkte = data("paidmailpunkte");
				 $key = rand(1000000,9999999);
				 $date = date("d.m.Y, H:i", time());

$id =$code[$bid_lesen];
$name =$code[$bid_lesen+1];
$punkte = $code[$bid_lesen+2]*10000;
$rel = $code[$bid_lesen+3]*60;
//$offen = $code[$bid_lesen+4]-50;
$url = $code[$bid_lesen+5];
$text = $code[$bid_lesen+6];
$zeit = $code[$bid_lesen+7];
$bid_lesen=$bid_lesen+8;

 $code = rand(1000000,9999999);


				 for ( $a = 0; $a < $offen; $a++ )
					{
						 $zeile = mysql_fetch_object(mysql_query("SELECT name FROM user WHERE sendmail='0' && urlaub=0"));
						
					 $user = $zeile->name;

					 $code = rand(1000000,9999999);

					 mysql_query("INSERT INTO paidmail ( `key`, sponsor, user, title, `text`, url, zeit, anzahl, method, punkte, gebucht, code ) VALUES ( '$key', 'alster', '$user', '$name', '$text', '$url', '$zeit', '$offen', '0', '$punkte', '$date', '$code' )");
					 mysql_query("UPDATE user SET sendmail='1' WHERE name='$user'");
					}
				 mysql_query("UPDATE user SET sendmail='0'");

				
}


?>


Die erste Paidmail wird auch noch erfolgreich hinzugefügt. Aber bei den restlichen Mails, stehen bei den URL und TEXT Spalten nur leere Datensatzfelder. Wodran liegt das?
 
Also die Variabeln $tl_count, $count, und $tl_anz stimmen alle.
Merkwürdig ist, dass bei den Datensätzen, wo kein Text und URL ist, $key, $code und $date richtig eingetragen sind. Es fehlen eben nur der Text und die URL. Also liegt es wohl am Auslesen der Seite...
Werd ich mir gerad nochmal angucken...

Wenn ich anstatt
PHP:
$url = $code[$bid_lesen+5];
$text = $code[$bid_lesen+6];

$url="blab";
$text="bla";

wird bla und blab auch ausgefüllt...
Ich dachte eben, dass es an den Umlauten im $text geht, aber dann müssten ja die URLs doch ausgefüllt werden oder?
 
Zuletzt bearbeitet:
Wenn ich einfach echo = $code[14] mache, wird auch der richtige Text ausgegeben =/

Weiß echt nicht wodran es liegen kann...
 
Huch?
Plötzlich ein SQL Fehler:

MySQL Error: 1064 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 'key, sponsor, user, title, text, url, zeit, anzahl, method, punkte, gebucht, cod' at line 1

PHP:
mysql_query("INSERT INTO paidmail (key, sponsor, user, title, text, url, zeit, anzahl, method, punkte, gebucht, code) VALUES ( '$key', 'alster', '$user', '$name', '".$text."', '".$url."', '$zeit', '$offen', '0', '$punkte', '$date', '$code' )");

Aha...key und text müssen in `