开发者

Unknown warning while updating field

What sort of error is this, I mean w开发者_Python百科hile updating field if I use '', I am getting this error.

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files\xampp\htdocs\shadaab\aaction.php on line 87

ON 86-87 I have this query

$result = mysql_query("SELECT name FROM album WHERE name='$name'");
if(mysql_num_rows($result) != 0)


Pretty popular question on SO. It means your query failed, so $result is false.

Add

if (!$result){
    echo mysql_error();
}

To see what exactly error was. Most probably you have some illegal characters in $name variable. So, before embedding it into query string, you need to mysql_escape_string() it.

$name= mysql_escape_string($name);

Btw, your code is subject to SQL-injection. So, you'd better use prepared_statements


As the documentation says:

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, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

The returned result resource should be passed to mysql_fetch_array(), and other functions for dealing with result tables, to access the returned data.

Use mysql_num_rows() to find out how many rows were returned for a SELECT statement or mysql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

mysql_query() will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query.

You should check that $result !== false first.


mysql_query returns false on errors. Replace the first line with this (if you want to know the error):

mysql_query("SELECT name FROM album WHERE name='$name'") or die(mysql_error());


For SELECT statements mysql_query() returns a resource on success and FALSE on failure. Check if FALSE === $result

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜