mysql_affected_rows() question | | |
Hi,
I'm doing a table insert and have a question about mysql_affected_rows().
The following code works. It correctly inserts the row and
mysql_affected_rows() returns 1 as it should do.
$sql = "INSERT INTO member (company, username, password, cookie,
session, ip) VALUES ('$company', '$user', '$pass', 'fakecookie',
'fakesession', '192.168.1.1')";
$result = mysql_query($sql) or MyDie("Error: ".mysql_error());
// Determine success:
// mysql_affected_rows returns the number of affected rows on
// success, and -1 if the last query failed.
$rowsAffected = mysql_affected_rows();
However the final line, the call to mysql_affected_rows, used to have
$result as an argument, like this:
$rowsAffected = mysql_affected_rows($result);
Which as far as I can tell is correct. When I use that line, the row gets
inserted correctly, but the call to mysql_affected_rows() fails, with the
following error message:
"Warning: mysql_affected_rows(): supplied argument is not a valid
MySQL-Link resource in /home/fakeuser/public_html/test/adduser.php on line
104"
I don't understand why it is not a valid link resource. The almost
identical code, but making a 'select' query and not doing an 'insert',
works fine when checking with 'mysql_num_rows($result)'.
Obviously this is not critical, since I've got it working, but in the
interests of increasing my understanding can someone explain this problem
to me please.
Many thanks. | | | | re: mysql_affected_rows() question
"Warning: mysql_affected_rows(): supplied argument is not a valid Quote:
MySQL-Link resource in /home/fakeuser/public_html/test/adduser.php on
line 104"
PHP Manual:
For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning
resultset, mysql_query() returns a resource on success, or FALSE on error.
For other type of SQL statements, UPDATE, DELETE, DROP, etc,
mysql_query() returns TRUE on success or FALSE on error.
So: Because TRUE is not a Resource, which is expected.
Ha, that was easy.
Indeed, mysql_affected_rows() does NOT expect the return value of
mysql_query(), but the connection resource: http://de2.php.net/manual/en/functio...ected-rows.php
So, to but it in a nutshell: RTFM! | | | | re: mysql_affected_rows() question
Jonas Werres emailed this: Quote: Quote:
>"Warning: mysql_affected_rows(): supplied argument is not a valid
>MySQL-Link resource in /home/fakeuser/public_html/test/adduser.php on
>line 104"
>
PHP Manual:
For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning
resultset, mysql_query() returns a resource on success, or FALSE on error.
For other type of SQL statements, UPDATE, DELETE, DROP, etc,
mysql_query() returns TRUE on success or FALSE on error.
>
So: Because TRUE is not a Resource, which is expected.
Ha, that was easy.
>
Indeed, mysql_affected_rows() does NOT expect the return value of
mysql_query(), but the connection resource: http://de2.php.net/manual/en/functio...ected-rows.php
>
So, to but it in a nutshell: RTFM!
Oh, I'm so sorry! I did RTFM, but *obviously* not very effectively.
Thanks for the help.
Feeling humbled and very sorry. | | | | re: mysql_affected_rows() question
On Nov 12, 8:15 pm, MS <No.Way.J...@No.Spam.Thank.You.comwrote: Quote:
Jonas Werres emailed this:
>
>
> Quote: Quote:
"Warning: mysql_affected_rows(): supplied argument is not a valid
MySQL-Link resource in /home/fakeuser/public_html/test/adduser.php on
line 104"
> Quote:
PHP Manual:
For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning
resultset, mysql_query() returns a resource on success, or FALSE on error.
For other type of SQL statements, UPDATE, DELETE, DROP, etc,
mysql_query() returns TRUE on success or FALSE on error.
> Quote:
So: Because TRUE is not a Resource, which is expected.
Ha, that was easy.
> > Quote:
So, to but it in a nutshell: RTFM!
>
Oh, I'm so sorry! I did RTFM, but *obviously* not very effectively.
>
Thanks for the help.
>
Feeling humbled and very sorry.
Well, you shouldn't feel humbled and very sorry, but only sorry.
Don't exaggerate :) | | | | re: mysql_affected_rows() question
Darko emailed this: Quote:
On Nov 12, 8:15 pm, MS <No.Way.J...@No.Spam.Thank.You.comwrote: Quote:
>Jonas Werres emailed this:
>>
>>
>> Quote:
>>>"Warning: mysql_affected_rows(): supplied argument is not a valid
>>>MySQL-Link resource in /home/fakeuser/public_html/test/adduser.php on
>>>line 104"
>>PHP Manual:
>>For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning
>>resultset, mysql_query() returns a resource on success, or FALSE on error.
>>For other type of SQL statements, UPDATE, DELETE, DROP, etc,
>>mysql_query() returns TRUE on success or FALSE on error.
>>So: Because TRUE is not a Resource, which is expected.
>>Ha, that was easy.
>>Indeed, mysql_affected_rows() does NOT expect the return value of
>>mysql_query(), but the connection resource:
>> http://de2.php.net/manual/en/functio...ected-rows.php
>>So, to but it in a nutshell: RTFM!
>Oh, I'm so sorry! I did RTFM, but *obviously* not very effectively.
>>
>Thanks for the help.
>>
>Feeling humbled and very sorry.
>
Well, you shouldn't feel humbled and very sorry, but only sorry.
Don't exaggerate :)
Ok, I take the humbled bit back. I'm just sorry. ;-) | | | | re: mysql_affected_rows() question
MS wrote: Quote:
Jonas Werres emailed this: Quote: Quote:
>>"Warning: mysql_affected_rows(): supplied argument is not a valid
>>MySQL-Link resource in /home/fakeuser/public_html/test/adduser.php on
>>line 104"
>>
>PHP Manual:
>For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning
>resultset, mysql_query() returns a resource on success, or FALSE on
>error.
>For other type of SQL statements, UPDATE, DELETE, DROP, etc,
>mysql_query() returns TRUE on success or FALSE on error.
>>
>So: Because TRUE is not a Resource, which is expected.
>Ha, that was easy.
>>
>Indeed, mysql_affected_rows() does NOT expect the return value of
>mysql_query(), but the connection resource:
> http://de2.php.net/manual/en/functio...ected-rows.php
>>
>So, to but it in a nutshell: RTFM!
>
Oh, I'm so sorry! I did RTFM, but *obviously* not very effectively.
>
Thanks for the help.
>
Feeling humbled and very sorry.
>
Don't worry about it. This area of mysql can be confusing. So many of
the calls take a result from mysql_query(), and you would think that
this one would, also.
But alas, it's (one of) the exception(s) to the "rule". :-)
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp. jstucklex@attglobal.net
================== |  | | | | /bytes/about
We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights.
Get the best answers to your questions from over 226,471 network members.
|