Forum Moderators: coopster

Message Too Old, No Replies

Insert into DB while in foreach loop

Need help, runs command but does not update

         

faxtion

5:50 pm on Jul 20, 2009 (gmt 0)

10+ Year Member



I have been banging my head against the wall for about a week now trying to work out a solution but can not seem to get to one, could anyone help me out.

MY script selects all users id from users db then for each id it fetchs their status timelime from twitter, and then it checks if that status is stored in the table for their user id if it exists it updates other wise it inserts a new record to the users table.

But for some reason this script was working when I had about 10 users in the db, but I know have 18 users and it does not add the record to the table when the insert query is run. I know the query is working fine as I echoed the output to the screen.

Can any body help?
Code Below

$xml = new SimpleXMLElement($data);

foreach($xml->status as $results) {

$tweet = mysql_escape_string($results->text);
$datetime = $results->created_at;

$queryselectresult = "SELECT * FROM letwitour.".$id." WHERE statusid='$results->id'";
$selectresult = mysql_query($queryselectresult, $conn)or die('Error :666 ' . mysql_error());

if (mysql_num_rows($selectresult)) {

$updatetweetSQL = ("
UPDATE
letwitour.".$id ."
SET
statusid = '$results->id',
tweet_text = '$tweet',
create_time_date = '$results->created_at'
WHERE
statusid = '$results->id'");

#mysql_query($updatetweetSQL,$conn) or die('Error 3: ' . mysql_error());
mysql_query($updatetweetSQL, $conn)or die('Error 3: ' . mysql_error());

} else {

$insertintoTB = "INSERT IGNORE INTO letwitour.".$id ."
VALUES ('NULL','$results->id','$tweet','$results->created_at')"
;

mysql_query($insertintoTB, $conn) or die('Error 2: ' . mysql_error());

$count ++;
}

#echo $results->text;
#echo $results->id .'<br /><br />';

}

idfer

9:53 pm on Jul 20, 2009 (gmt 0)

10+ Year Member



Try removing the "IGNORE" from your insert statement. It's most likely suppressing whatever errors are causing the insert to fail. Also are you sure you want to insert the text 'NULL' in the first field, and not a NULL value? There's a difference... to insert a NULL value don't enclose it in single quotes. Hope this helps.