2014-11-16 5 views
0

Im пытается сделать очень простой класс, где я могу получить данные из таблицы.Получение данных sql в массиве

class dbCore{ 
    private $username; 
    private $password; 
    private $database; 
    private $serverAddress; 
private function createConnection(){ 
    return mysql_connect($this->serverAddress, $this->username, $this->password); 
} 

public function __construct($db=array()){ 
    $this->username = $db['username']; 
    $this->password = $db['password']; 
    $this->database = $db['database']; 
    $this->serverAddress = $db['serverAddress']; 
} 

public function checkConnection(){ 
    $connection = $this->createConnection(); 
    if($connection) 
     mysql_close($connection); 
    return !!$connection; 
} 

public function getAll($tableName){ 
    $data=array(); 
    $connection = $this->createConnection(); 
    $sql = "SELECT * FROM " . $tableName; 
    if ($connection){ 
     mysql_select_db($this->database); 
     $result=mysql_query($sql, $connection); 
     while ($row = mysql_fetch_row($result)) { 
      array_push($data,$row); 
     } 
     return $data; 
    }else{ 
     return false; 
    } 

} 
} 

, когда я звоню $db->getAll('mytable'); он получает:

Array 
(
    [0] => Array 
     (
      [0] => 1 
      [1] => Riga 
      [2] => Liepaja 
      [3] => 2014-11-20 
      [4] => 2014-11-08 
      [5] => 4 
     ) 

    [1] => Array 
     (
      [0] => 2 
      [1] => Riga 
      [2] => Liepaja 
      [3] => 2014-11-19 
      [4] => 2014-11-09 
      [5] => 3 
     ) 

) 

Но я хочу, чтобы это было id => 1, city => Riga и т.д. Но я не хочу писать сам. Я хочу, чтобы он взял его из имен столбцов и поместил ключевые значения. Есть ли простой способ сделать это? Я мог бы получить все имена полей и заменить их, но это кажется не очень эффективным.

ответ

1

Почему вы все еще используете mysql_? Это устарело.

Во всяком случае, использовать mysql_fetch_assoc вместо mysql_fetch_row

+0

Это был первый я нашел в Интернете. Что мне тогда использовать? – Cirvis

+0

Используйте mysqli http://php.net/manual/en/book.mysqli.php или PDO http://php.net/manual/en/book.pdo.php – rjdown

Смежные вопросы