ID:               16295
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Feedback
 Bug Type:         MySQL related
 Operating System: MDK 8.2
 PHP Version:      4.1.2
 New Comment:

I don't think this is a PHP problem.  Try this:
Modify your script so that it looks like:
1| $sql=mysql_query("SELECT id FROM tbl");
2| while($row = mysql_fetch_array($sql, MYSQL_ASSOC)) {
3|    mysql_unbuffered_query("DELETE FROM tbl2 WHERE 
4|    id=\"".$row["id"]."\"");
5| }

If this works, change this bug to bogus.



Previous Comments:
------------------------------------------------------------------------

[2002-03-27 09:30:40] [EMAIL PROTECTED]

I try to put mysql_query everywhere (there are no
mysql_unbuffered_queryies)

Still the same.

What's important? mysql_errno is always null and the error occures in
various resources.

Result of faulty operation in a database is sometimes ok and sometimes
not.

------------------------------------------------------------------------

[2002-03-27 06:16:04] [EMAIL PROTECTED]

Don't mix mysql_unbuffered_query and mysql_query.
mysql_unbuffered_query is for fetching rows in SELECT, 
SHOW or DESCRIBE statements without buffering it.

Use mysql_query ("DELETE ... instead.


------------------------------------------------------------------------

[2002-03-27 06:15:58] [EMAIL PROTECTED]

Don't use mysql_unbuffered_query and mysql_query mixed.
mysql_unbuffered_query is for fetching rows in SELECT, 
SHOW or DESCRIBE statements without buffering it.

Use mysql_query ("DELETE ... instead.


------------------------------------------------------------------------

[2002-03-27 05:28:54] [EMAIL PROTECTED]

This SOMETIMES produces an error 
"3 is not a valid mysql resource on line 2"
(or other error numbers)

First fetch_array is usually good. It looks like php forget a resource
link when calling other query (line 3).

1| $sql=mysql_query("SELECT id FROM tbl");
2| while($row = mysql_fetch_array($sql, MYSQL_ASSOC)) {
3|    mysql_unbuffered_query("DELETE FROM tbl2 WHERE id=".$row["id"]);
5| }


When I first fetch all data to an array and then use them by the same
way, it works.


1| $ARR=array();
2| $sql=mysql_query("SELECT id FROM tbl");
3| while($row=mysql_fetch_array($sql, MYSQL_ASSOC)) $ARR[]=$row;
4| foreach($ARR as $row) mysql_unbuffered_query("DELETE FROM tbl2 WHERE
id=".$row["id"]);

I can't find where is the problem. I try to put some sleep() after
queries but nothing happens.

------------------------------------------------------------------------

[2002-03-26 18:38:18] [EMAIL PROTECTED]

This SOMETIMES produces the error 
"3 is not a valid mysql resource on line 2"
(or other numbers)

First fetch_array is usually good. It looks like php forgot a resource
link when calling other query.

1| $sql=mysql_query("SELECT id FROM tbl");
2| while($row = mysql_fetch_array($sql, MYSQL_ASSOC)) {
3|    mysql_unbuffered_query("DELETE FROM tbl2 WHERE 
4|    id=".$row["id"]);
5| }


When I use an array to store data from tbl1 instead direct fetching, it
works.

1| $ARR=array();
2| $sql=mysql_query("SELECT id FROM tbl");
3| while($row=mysql_fetch_array($sql, MYSQL_ASSOC)) $ARR[]=$row;
4| foreach($ARR as $row) mysql_unbuffered_query("DELETE FROM tbl2 WHERE
id=".$row["id"]);


I can't find where is the problem. I try to put some sleep() after
mysql_query but it's the same.


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=16295&edit=1

Reply via email to