mysql_fetch_assoc retour une valeur entière
- Bogey
- Bogey


- Inscription: Juil 14, 2005
- Messages: 8211
- Loc: USA
- Status: Offline
J'ai besoin d'aide...ce qui suit:
renvoie un int (2)...?
Comment se fait-il est de retour un nombre entier?
J'ai besoin d'aide.
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;
- }
- }
renvoie un int (2)...?
Comment se fait-il est de retour un nombre entier?
J'ai besoin d'aide.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
- Anonymous
- Bot


- Inscription: 25 Feb 2008
- Messages: ?
- Loc: Ozzuland
- Status: Online
Octobre 28th, 2010, 12:57 am
- joebert
- Sledgehammer


- Inscription: Fév 10, 2004
- Messages: 13455
- Loc: Florida
- Status: Offline
- Bogey
- Bogey


- Inscription: Juil 14, 2005
- Messages: 8211
- Loc: USA
- Status: Offline
J'ai eu la série suivante de fonctions dans ma classe:
Et si je lance le code suivant:
Je obtenir le résultat suivant:
Et mon cache dit
[EDIT:] Comment puis-je garder gedit de faire ces lignes supplémentaires sur Ubuntu? Son train de devenir très agaçant! [INLINE EDIT:] (je fixe les lignes supplémentaires dans la liste ici pour plus de lisibilité, mais gedit le fait toujours.
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;
- }
- }
Et si je lance le code suivant:
PHP Code: [ Select ]
var_dump($db->_get_('*','test'));
Je obtenir le résultat suivant:
Quote:
int (2)
Et mon cache dit
Quote:
i: 2;
[EDIT:] Comment puis-je garder gedit de faire ces lignes supplémentaires sur Ubuntu? Son train de devenir très agaçant! [INLINE EDIT:] (je fixe les lignes supplémentaires dans la liste ici pour plus de lisibilité, mais gedit le fait toujours.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
- Bogey
- Bogey


- Inscription: Juil 14, 2005
- Messages: 8211
- Loc: USA
- Status: Offline
- righteous_trespasser
- Scuffle


- Inscription: Mar 12, 2007
- Messages: 6228
- Loc: South-Africa
- Status: Offline
- Bogey
- Bogey


- Inscription: Juil 14, 2005
- Messages: 8211
- Loc: USA
- Status: Offline
J'avais réinstallé phpmyadmin, Apache et MySQL et j'ai donc perdu cette base de données, mais j'ai créé un autre sur, et celui-ci dit int (4).
On dirait que tous ses faire est de compter le nombre de lignes il ya...
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');
On dirait que tous ses faire est de compter le nombre de lignes il ya...
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
- Bogey
- Bogey


- Inscription: Juil 14, 2005
- Messages: 8211
- Loc: USA
- Status: Offline
Ok, faisons une recherche peu plus à ce sujet, j'ai compris Quel est le problème.
Le problème n'est pas avec le PHP de fournir les résultats...le problème a été avec le cache.
Pour une raison quelconque, le problème est résolu...Je n'ai aucune idée ce qui s'est passé. Il fixe, après j'ai mis var_dump ($ result); dans la fonction de cache ($ result est le contenu mis en cache)...Après cela, il fonctionnait parfaitement.
Quoi qu'il en soit, Im heureux d'avoir pu le faire réparer.
Le problème n'est pas avec le PHP de fournir les résultats...le problème a été avec le cache.
Pour une raison quelconque, le problème est résolu...Je n'ai aucune idée ce qui s'est passé. Il fixe, après j'ai mis var_dump ($ result); dans la fonction de cache ($ result est le contenu mis en cache)...Après cela, il fonctionnait parfaitement.
Quoi qu'il en soit, Im heureux d'avoir pu le faire réparer.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
Page 1 sur 1
Pour répondre à ce sujet, vous devez vous connecter ou vous enregistrer. Il est gratuit.
Afficher de l'information
- Total des messages de ce sujet: 7 messages
- Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 253 invités
- Vous ne pouvez pas poster de nouveaux sujets
- Vous ne pouvez pas répondre aux sujets
- Vous ne pouvez pas éditer vos messages
- Vous ne pouvez pas supprimer vos messages
- Vous ne pouvez pas joindre des fichiers
