Каков наилучший способ написать функцию PHP MySQL? - PullRequest
1 голос
/ 23 сентября 2010

Я хочу получать информацию из моей базы данных довольно часто по всему моему приложению, я думал, что было бы проще написать функцию, поэтому я могу получить к ней доступ в любое время, что является лучшим способом написать одну!спасибо:))

Ответы [ 3 ]

1 голос
/ 23 сентября 2010

надеюсь, это поможет, вам нужно передать переменные в функцию, а затем использовать эту переменную для извлечения чего-либо из вашей базы данных!т.е.

function getUserInfo($username) {

                $query = "SELECT * FROM user WHERE username = '$username'";
                $result = mysql_query($query);
                if (!mysql_num_rows($result)) return false;
                $row = mysql_fetch_array($result);
                return $row;

            }
0 голосов
/ 23 сентября 2010

Интеграция класса в PDO, а затем интеграция ваших методов в объект базы данных

Примеры:

class Database extends PDO
{
    //Override __construct for PDO
    function __construct()
    {
        Here you assembly your PDO Constructor
        parent::__construct($dsn,$username,$password,$driver_options);
    }    
}

Исходя из того, что вы можете просто сделать:

$Database = new Database(); //Where as your Database class is now combined with PDO:

В качестве продолжения вы можете теперь делать классы следующим образом:

class DB_Table_Users extends Database
{

    public function getByLocation($location)
    {
        $statement = $this->prepare("SELECT * FROM users WHERE location = :location");
        $statement->bindValue(':location',$location);
        $statement->execute();
        return $statement;
    }

    public function getByDate($int_date)
    {
        $statement = $this->prepare("SELECT * FROM users WHERE reg_date > :int_date");
        $statement->bindValue(':int_date',$int_date);
        $statement->execute();
        return $statement;
    }

}

и использовать так:

$Users = new DB_Table_Users;
$statement = $Users->getByLocation('uk');

foreach($row as $statement->fetchObject())
{
    //..
}

Это имеет некоторую структуру для отношений с базой данных и будет сохранять ваши таблицы конкретнымиклассу.

Совет: вы также можете использовать __get и __set в вашем DB_Table_XXXX, чтобы в ваших методах вы могли извлекать их как объект к вашей собственной таблице.

0 голосов
/ 23 сентября 2010
  • mysql_query () - простой, функциональный интерфейс
  • PDO - ООП, подготовка выписок, простая в освоении и удобная в использовании
  • ORM - Доктрина, Propel, трудная для начинающих, но мощная на более позднем этапе.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...