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
加载中,请稍侯......
精彩评论