PHP / MySQL нужен класс базы данных - PullRequest
0 голосов
/ 03 января 2012

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

Например:

function getSlideByUserAndSortId($sort_order) {
global $mysqli;
global $user_id;

if ($stmt = $mysqli->prepare("SELECT slide_id FROM user_slides WHERE user_id = ? AND sort_order = ?")) {
    $stmt->bind_param('ii', $user_id, $sort_order);
    $stmt->execute();
    $stmt->bind_result($returnSlideId);
    $stmt->store_result();
    $stmt->fetch();

    return $returnSlideId;

    $stmt->close();
}
}

function getSlideText($var) {
global $mysqli;
global $user_id;
global $current_slide;

if ($stmt = $mysqli->prepare("SELECT text FROM slide_data WHERE slide_id = ? AND user_id = ? LIMIT 1")) {
    $stmt->bind_param('ii', $current_slide, $user_id);
    $stmt->execute();
    $stmt->bind_result($text);
    $stmt->store_result();
    $stmt->fetch();

    $text = ($stmt->num_rows < 1 ? $var : $text);

    return $text;

    $stmt->close();
}
}

Что так запутанно ... Мне нужен такой класс, как Codeigniter, где я могу просто сделать:

$this->db->select('*');
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');

$query = $this->db->get();

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

1 Ответ

3 голосов
/ 03 января 2012

То, что вы ищете, это Object Relational Mapper , и было создано множество созданных для использования с PHP и MySql.Одними из лучших и наиболее широко используемых являются Propel и Doctrine

Однако вы можете найти много других предложений по этому стеку question

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...