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