mysql_fetch_assoc returning an integer value
- Bogey
- Bogey


- Joined: Jul 14, 2005
- Posts: 8211
- Loc: USA
- Status: Offline
I need help... the following:
returns int(2) ...?
How come is it returning an integer?
I need help.
PHP Code: [ Select ]
// Checking what type of result we want
if($type == 1)
{
while($row = mysql_fetch_assoc($results))
{
$result[] = $row;
}
}
elseif($type == 2)
{
while($row = mysql_fetch_array($results))
{
$result[] = $row;
}
}
elseif($type == 3)
{
while($row = mysql_fetch_object($results))
{
$result[] = $row;
}
}
elseif($type == 4)
{
while($row = mysql_fetch_row($results))
{
$result[] = $row;
}
}
else
{
while($row = mysql_fetch_assoc($results))
{
$result[] = $row;
}
}
if($type == 1)
{
while($row = mysql_fetch_assoc($results))
{
$result[] = $row;
}
}
elseif($type == 2)
{
while($row = mysql_fetch_array($results))
{
$result[] = $row;
}
}
elseif($type == 3)
{
while($row = mysql_fetch_object($results))
{
$result[] = $row;
}
}
elseif($type == 4)
{
while($row = mysql_fetch_row($results))
{
$result[] = $row;
}
}
else
{
while($row = mysql_fetch_assoc($results))
{
$result[] = $row;
}
}
- // Checking what type of result we want
- if($type == 1)
- {
- while($row = mysql_fetch_assoc($results))
- {
- $result[] = $row;
- }
- }
- elseif($type == 2)
- {
- while($row = mysql_fetch_array($results))
- {
- $result[] = $row;
- }
- }
- elseif($type == 3)
- {
- while($row = mysql_fetch_object($results))
- {
- $result[] = $row;
- }
- }
- elseif($type == 4)
- {
- while($row = mysql_fetch_row($results))
- {
- $result[] = $row;
- }
- }
- else
- {
- while($row = mysql_fetch_assoc($results))
- {
- $result[] = $row;
- }
- }
returns int(2) ...?
How come is it returning an integer?
I need help.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
- Anonymous
- Bot


- Joined: 25 Feb 2008
- Posts: ?
- Loc: Ozzuland
- Status: Online
October 28th, 2010, 12:57 am
- joebert
- Sledgehammer


- Joined: Feb 10, 2004
- Posts: 13455
- Loc: Florida
- Status: Offline
- Bogey
- Bogey


- Joined: Jul 14, 2005
- Posts: 8211
- Loc: USA
- Status: Offline
I got the following set of functions in my class:
And if I run the following code:
I get the following result:
And my cache says
[EDIT:] How do I keep gedit from making those extra lines on Ubuntu? It's becoming very irritating! [INLINE EDIT:] (I fixed the extra lines shown here for readability, but gedit still does that.
PHP Code: [ Select ]
class db {
public function _get_($what, $from, $where = null)
{
// Generating the SQL for the query
$sql = array('SELECT' => $what,
'FROM' => $from);
// Generating the WHERE clause
if(!is_null($where))
{
if(is_array($where))
{
$where = $this->build_where($where, false);
// Merging the WHERE clause with the rest of the SQL array
$sql = array_merge($sql, array('WHERE' => $where));
}
}
// Setting the generated SQL to $sql
$sql = $this->build_key_query($sql);
// Setting the last sql to the correct variable
$this->last_sql = $sql;
// Retrieving the number of results there are to the query
$num = $this->num_rows($sql);
// Checking if the $num is greater than 1
if($num > 1)
{
$return = $this->fetch_rowset($sql);
}
else
{
$return = $this->fetch_row($sql);
}
// Returning the appropriate result (set).
return $return;
}
public function set_result_resource($sql = null, $return = false)
{
// Checking if we are connected to MySQL
if(!is_resource($this->mysql_link))
{
$this->connect();
}
// Checking if the SQL is empty
if(is_null($sql))
{
$sql = $this->get_last_sql();
}
// Sanitising the input
$sql = $this->san_query($sql);
// Getting the resource into a variable
$resource = mysql_query($sql);
// Setting the last result variable
$this->last_result = $resource;
// Checking if the result needs to be returned
if($return)
{
// Returning the SQL resource
return $resource;
}
else
{
// Checking if the result resource was created successfully
if($resource)
{
return true;
}
}
return false;
}
public function num_rows($sql, $type = 2)
{
// Checking if the SQL query was cached
if($this->cache_results === true)
{
$sql_file = $this->cache_dir . md5($sql) . '.cache';
// Checking if the SQL file exists
if(file_exists($sql_file))
{
return unserialize(file_get_contents($sql_file));
}
}
// Setting the result resource
$results = $this->set_result_resource($sql, true);
// Getting the requested result
$result = (($type == 1) ? mysql_num_fields($results) : mysql_num_rows($results));
// Checking if we need to free the result resource
if($this->free_result == true)
{
$this->free_result();
}
// Checking if we need to cache the result
if($this->cache_results === true)
{
return $this->cache_results($sql, $result);
}
// Returning the result (if not cached)
return $result;
}
public function num_rows($sql, $type = 2)
{
// Checking if the SQL query was cached
if($this->cache_results === true)
{
$sql_file = $this->cache_dir . md5($sql) . '.cache';
// Checking if the SQL file exists
if(file_exists($sql_file))
{
return unserialize(file_get_contents($sql_file));
}
}
// Setting the result resource
$results = $this->set_result_resource($sql, true);
// Getting the requested result
$result = (($type == 1) ? mysql_num_fields($results) : mysql_num_rows($results));
// Checking if we need to free the result resource
if($this->free_result == true)
{
$this->free_result();
}
// Checking if we need to cache the result
if($this->cache_results === true)
{
return $this->cache_results($sql, $result);
}
// Returning the result (if not cached)
return $result;
}
public function fetch_row($sql, $type = 1)
{
// Checking if the SQL query was cached
if($this->cache_results === true)
{
$sql_file = $this->cache_dir . md5($sql) . '.cache';
// Checking if the SQL file exists
if(file_exists($sql_file))
{
return unserialize(file_get_contents($sql_file));
}
}
// Creating a result resource
$results = $this->set_result_resource($sql, true);
// Setting the result array
$result = array();
// Checking what type of result we want
if($type == 1)
{
$result[] = mysql_fetch_assoc($results);
}
elseif($type == 2)
{
$result[] = mysql_fetch_array($results);
}
elseif($type == 3)
{
$result[] = mysql_fetch_object($results);
}
elseif($type == 4)
{
$result[] = mysql_fetch_row($results);
}
else
{
$result[] = mysql_fetch_assoc($results);
}
// Checking if we need to free the result resource
if($this->free_result == true)
{
$this->free_result();
}
// Checking if we need to cache the result
if($this->cache_results === true)
{
return $this->cache_results($sql, $result);
}
// Returning the result (if not cached)
return $result;
}
}
public function _get_($what, $from, $where = null)
{
// Generating the SQL for the query
$sql = array('SELECT' => $what,
'FROM' => $from);
// Generating the WHERE clause
if(!is_null($where))
{
if(is_array($where))
{
$where = $this->build_where($where, false);
// Merging the WHERE clause with the rest of the SQL array
$sql = array_merge($sql, array('WHERE' => $where));
}
}
// Setting the generated SQL to $sql
$sql = $this->build_key_query($sql);
// Setting the last sql to the correct variable
$this->last_sql = $sql;
// Retrieving the number of results there are to the query
$num = $this->num_rows($sql);
// Checking if the $num is greater than 1
if($num > 1)
{
$return = $this->fetch_rowset($sql);
}
else
{
$return = $this->fetch_row($sql);
}
// Returning the appropriate result (set).
return $return;
}
public function set_result_resource($sql = null, $return = false)
{
// Checking if we are connected to MySQL
if(!is_resource($this->mysql_link))
{
$this->connect();
}
// Checking if the SQL is empty
if(is_null($sql))
{
$sql = $this->get_last_sql();
}
// Sanitising the input
$sql = $this->san_query($sql);
// Getting the resource into a variable
$resource = mysql_query($sql);
// Setting the last result variable
$this->last_result = $resource;
// Checking if the result needs to be returned
if($return)
{
// Returning the SQL resource
return $resource;
}
else
{
// Checking if the result resource was created successfully
if($resource)
{
return true;
}
}
return false;
}
public function num_rows($sql, $type = 2)
{
// Checking if the SQL query was cached
if($this->cache_results === true)
{
$sql_file = $this->cache_dir . md5($sql) . '.cache';
// Checking if the SQL file exists
if(file_exists($sql_file))
{
return unserialize(file_get_contents($sql_file));
}
}
// Setting the result resource
$results = $this->set_result_resource($sql, true);
// Getting the requested result
$result = (($type == 1) ? mysql_num_fields($results) : mysql_num_rows($results));
// Checking if we need to free the result resource
if($this->free_result == true)
{
$this->free_result();
}
// Checking if we need to cache the result
if($this->cache_results === true)
{
return $this->cache_results($sql, $result);
}
// Returning the result (if not cached)
return $result;
}
public function num_rows($sql, $type = 2)
{
// Checking if the SQL query was cached
if($this->cache_results === true)
{
$sql_file = $this->cache_dir . md5($sql) . '.cache';
// Checking if the SQL file exists
if(file_exists($sql_file))
{
return unserialize(file_get_contents($sql_file));
}
}
// Setting the result resource
$results = $this->set_result_resource($sql, true);
// Getting the requested result
$result = (($type == 1) ? mysql_num_fields($results) : mysql_num_rows($results));
// Checking if we need to free the result resource
if($this->free_result == true)
{
$this->free_result();
}
// Checking if we need to cache the result
if($this->cache_results === true)
{
return $this->cache_results($sql, $result);
}
// Returning the result (if not cached)
return $result;
}
public function fetch_row($sql, $type = 1)
{
// Checking if the SQL query was cached
if($this->cache_results === true)
{
$sql_file = $this->cache_dir . md5($sql) . '.cache';
// Checking if the SQL file exists
if(file_exists($sql_file))
{
return unserialize(file_get_contents($sql_file));
}
}
// Creating a result resource
$results = $this->set_result_resource($sql, true);
// Setting the result array
$result = array();
// Checking what type of result we want
if($type == 1)
{
$result[] = mysql_fetch_assoc($results);
}
elseif($type == 2)
{
$result[] = mysql_fetch_array($results);
}
elseif($type == 3)
{
$result[] = mysql_fetch_object($results);
}
elseif($type == 4)
{
$result[] = mysql_fetch_row($results);
}
else
{
$result[] = mysql_fetch_assoc($results);
}
// Checking if we need to free the result resource
if($this->free_result == true)
{
$this->free_result();
}
// Checking if we need to cache the result
if($this->cache_results === true)
{
return $this->cache_results($sql, $result);
}
// Returning the result (if not cached)
return $result;
}
}
- class db {
- public function _get_($what, $from, $where = null)
- {
- // Generating the SQL for the query
- $sql = array('SELECT' => $what,
- 'FROM' => $from);
- // Generating the WHERE clause
- if(!is_null($where))
- {
- if(is_array($where))
- {
- $where = $this->build_where($where, false);
- // Merging the WHERE clause with the rest of the SQL array
- $sql = array_merge($sql, array('WHERE' => $where));
- }
- }
- // Setting the generated SQL to $sql
- $sql = $this->build_key_query($sql);
- // Setting the last sql to the correct variable
- $this->last_sql = $sql;
- // Retrieving the number of results there are to the query
- $num = $this->num_rows($sql);
- // Checking if the $num is greater than 1
- if($num > 1)
- {
- $return = $this->fetch_rowset($sql);
- }
- else
- {
- $return = $this->fetch_row($sql);
- }
- // Returning the appropriate result (set).
- return $return;
- }
- public function set_result_resource($sql = null, $return = false)
- {
- // Checking if we are connected to MySQL
- if(!is_resource($this->mysql_link))
- {
- $this->connect();
- }
- // Checking if the SQL is empty
- if(is_null($sql))
- {
- $sql = $this->get_last_sql();
- }
- // Sanitising the input
- $sql = $this->san_query($sql);
- // Getting the resource into a variable
- $resource = mysql_query($sql);
- // Setting the last result variable
- $this->last_result = $resource;
- // Checking if the result needs to be returned
- if($return)
- {
- // Returning the SQL resource
- return $resource;
- }
- else
- {
- // Checking if the result resource was created successfully
- if($resource)
- {
- return true;
- }
- }
- return false;
- }
- public function num_rows($sql, $type = 2)
- {
- // Checking if the SQL query was cached
- if($this->cache_results === true)
- {
- $sql_file = $this->cache_dir . md5($sql) . '.cache';
- // Checking if the SQL file exists
- if(file_exists($sql_file))
- {
- return unserialize(file_get_contents($sql_file));
- }
- }
- // Setting the result resource
- $results = $this->set_result_resource($sql, true);
- // Getting the requested result
- $result = (($type == 1) ? mysql_num_fields($results) : mysql_num_rows($results));
- // Checking if we need to free the result resource
- if($this->free_result == true)
- {
- $this->free_result();
- }
- // Checking if we need to cache the result
- if($this->cache_results === true)
- {
- return $this->cache_results($sql, $result);
- }
- // Returning the result (if not cached)
- return $result;
- }
- public function num_rows($sql, $type = 2)
- {
- // Checking if the SQL query was cached
- if($this->cache_results === true)
- {
- $sql_file = $this->cache_dir . md5($sql) . '.cache';
- // Checking if the SQL file exists
- if(file_exists($sql_file))
- {
- return unserialize(file_get_contents($sql_file));
- }
- }
- // Setting the result resource
- $results = $this->set_result_resource($sql, true);
- // Getting the requested result
- $result = (($type == 1) ? mysql_num_fields($results) : mysql_num_rows($results));
- // Checking if we need to free the result resource
- if($this->free_result == true)
- {
- $this->free_result();
- }
- // Checking if we need to cache the result
- if($this->cache_results === true)
- {
- return $this->cache_results($sql, $result);
- }
- // Returning the result (if not cached)
- return $result;
- }
- public function fetch_row($sql, $type = 1)
- {
- // Checking if the SQL query was cached
- if($this->cache_results === true)
- {
- $sql_file = $this->cache_dir . md5($sql) . '.cache';
- // Checking if the SQL file exists
- if(file_exists($sql_file))
- {
- return unserialize(file_get_contents($sql_file));
- }
- }
- // Creating a result resource
- $results = $this->set_result_resource($sql, true);
- // Setting the result array
- $result = array();
- // Checking what type of result we want
- if($type == 1)
- {
- $result[] = mysql_fetch_assoc($results);
- }
- elseif($type == 2)
- {
- $result[] = mysql_fetch_array($results);
- }
- elseif($type == 3)
- {
- $result[] = mysql_fetch_object($results);
- }
- elseif($type == 4)
- {
- $result[] = mysql_fetch_row($results);
- }
- else
- {
- $result[] = mysql_fetch_assoc($results);
- }
- // Checking if we need to free the result resource
- if($this->free_result == true)
- {
- $this->free_result();
- }
- // Checking if we need to cache the result
- if($this->cache_results === true)
- {
- return $this->cache_results($sql, $result);
- }
- // Returning the result (if not cached)
- return $result;
- }
- }
And if I run the following code:
PHP Code: [ Select ]
var_dump($db->_get_('*','test'));
I get the following result:
Quote:
int(2)
And my cache says
Quote:
i:2;
[EDIT:] How do I keep gedit from making those extra lines on Ubuntu? It's becoming very irritating! [INLINE EDIT:] (I fixed the extra lines shown here for readability, but gedit still does that.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
- Bogey
- Bogey


- Joined: Jul 14, 2005
- Posts: 8211
- Loc: USA
- Status: Offline
- righteous_trespasser
- Scuffle


- Joined: Mar 12, 2007
- Posts: 6228
- Loc: South-Africa
- Status: Offline
- Bogey
- Bogey


- Joined: Jul 14, 2005
- Posts: 8211
- Loc: USA
- Status: Offline
I had reinstalled phpmyadmin, apache and Mysql so I lost that database but I created another on, and this one says 'int(4)'.
Looks like all it's doing is counting the number of rows there are...
Code: [ Select ]
--
-- Table structure for table `test`
--
CREATE TABLE IF NOT EXISTS `test` (
`test_field_1` varchar(20) NOT NULL,
`test_field_2` varchar(20) NOT NULL,
`test_field_3` varchar(20) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `test`
--
INSERT INTO `test` (`test_field_1`, `test_field_2`, `test_field_3`) VALUES
('field content 3.1', 'field content 3.2', 'field content 3.3'),
('field content 4.1', 'field content 4.2', 'field content 4.3'),
('field content 1.1', 'field content 1.2', 'field content 1.3'),
('field content 2.1', 'field content 2.2', 'field content 2.3');
-- Table structure for table `test`
--
CREATE TABLE IF NOT EXISTS `test` (
`test_field_1` varchar(20) NOT NULL,
`test_field_2` varchar(20) NOT NULL,
`test_field_3` varchar(20) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `test`
--
INSERT INTO `test` (`test_field_1`, `test_field_2`, `test_field_3`) VALUES
('field content 3.1', 'field content 3.2', 'field content 3.3'),
('field content 4.1', 'field content 4.2', 'field content 4.3'),
('field content 1.1', 'field content 1.2', 'field content 1.3'),
('field content 2.1', 'field content 2.2', 'field content 2.3');
- --
- -- Table structure for table `test`
- --
- CREATE TABLE IF NOT EXISTS `test` (
- `test_field_1` varchar(20) NOT NULL,
- `test_field_2` varchar(20) NOT NULL,
- `test_field_3` varchar(20) NOT NULL
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
- --
- -- Dumping data for table `test`
- --
- INSERT INTO `test` (`test_field_1`, `test_field_2`, `test_field_3`) VALUES
- ('field content 3.1', 'field content 3.2', 'field content 3.3'),
- ('field content 4.1', 'field content 4.2', 'field content 4.3'),
- ('field content 1.1', 'field content 1.2', 'field content 1.3'),
- ('field content 2.1', 'field content 2.2', 'field content 2.3');
Looks like all it's doing is counting the number of rows there are...
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
- Bogey
- Bogey


- Joined: Jul 14, 2005
- Posts: 8211
- Loc: USA
- Status: Offline
Ok, doing a bit more research on this, I figured out what's the problem.
The problem wasn't with the PHP to provide the results... the problem was with the cache.
For some reason the problem is fixed... I have no idea what happened. It fixed after I put var_dump($result); in the cache function ($result is the content being cached)... after that it was working perfectly.
Anyway, I'm glad I was able to get it fixed.
The problem wasn't with the PHP to provide the results... the problem was with the cache.
For some reason the problem is fixed... I have no idea what happened. It fixed after I put var_dump($result); in the cache function ($result is the content being cached)... after that it was working perfectly.
Anyway, I'm glad I was able to get it fixed.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
Page 1 of 1
To Reply to this topic you need to LOGIN or REGISTER. It is free.
Post Information
- Total Posts in this topic: 7 posts
- Users browsing this forum: No registered users and 123 guests
- You cannot post new topics in this forum
- You cannot reply to topics in this forum
- You cannot edit your posts in this forum
- You cannot delete your posts in this forum
- You cannot post attachments in this forum
