PHP-MySQL-Class icon indicating copy to clipboard operation
PHP-MySQL-Class copied to clipboard

query 'SET NAMES utf8' error: mysql_num_rows() expects parameter 1 to be resource

Open argosback opened this issue 11 years ago • 4 comments

Hello, when I run the following query $db->ExecuteSQL('SET NAMES utf8'); I get the following error:

 # Line 121
 mysql_num_rows() expects parameter 1 to be resource, boolean given

I fixed with:

 @@ -118,8 +118,13 @@ class MySQL {
      function ExecuteSQL($query){
          $this->lastQuery     = $query;
          if($this->result     = mysql_query($query, $this->databaseLink)){
 -            $this->records   = @mysql_num_rows($this->result);
 -            $this->affected  = @mysql_affected_rows($this->databaseLink);
 +            if (gettype($this->result) === 'resource') {
 +                $this->records   = @mysql_num_rows($this->result);
 +                $this->affected  = @mysql_affected_rows($this->databaseLink);
 +            } else {
 +                $this->records  = 0;
 +                $this->affected = 0;
 +            }

If there is another way to run this query, please tell me

argosback avatar Jan 29 '14 12:01 argosback

@argosback it would be nice if you can provide a pull-request with your solution. it's much easier to merge as copy'n'paste. ;)

Gummibeer avatar Apr 16 '14 17:04 Gummibeer

I send my pull-request :)

argosback avatar Apr 27 '14 03:04 argosback

thx for #43 pull-request! :) want to use this class in a big Project so i'm interestet in good solutions and a wide range of usability.

Gummibeer avatar Apr 28 '14 16:04 Gummibeer

i fixed this just add utf8 charset in class.DPBO.php in $dns

$dsn      = 'mysql:dbname=' . DATABASE_NAME . ';host=' .DATABASE_HOST.';charset=utf8';




behzad900 avatar Sep 04 '15 00:09 behzad900