Интеграция функций PHP с базой данных - PullRequest
0 голосов
/ 07 марта 2011

Я только что представил свою работу, и мой руководитель курса попросил меня использовать функции PHP для запроса моей базы данных. Как я могу это сделать? Можно ли добавить просто «функцию getRooms» перед моими запросами и вернуть желаемый результат. Мне нужен подробный инструктаж по функциям с MySQL .

Например: Как я добавлю функцию к этому коду:

<?php
    // By Kelvin
    include ("player.php");
    $result = mysql_query("SELECT * FROM phplogin WHERE username = '$username'");
    $row = mysql_fetch_assoc($result);
    $medipack = $row['medipack'];
    if ($_POST['object'] == "Use Medipack") {
        if ($medipack != 0) {
            mysql_query("UPDATE phplogin SET score = score + 50, health = health + 50, medipack = medipack - 1
            WHERE username = '$username'");
            echo ("<P>Medipack Used!</P>");
            $RoomNumber =5;
        }
        else {
            echo ("<P>You're all out of medipacks!</P>");
        }
    }
?>

Ответы [ 3 ]

1 голос
/ 07 марта 2011

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

function getRooms($link){
    $sql = "SELECT * FROM rooms";
    $data = array();
    if($set = mysql_query($sql)){
        while($row = mysql_fetch_assoc($set)){
            $data[] = $row;
        }
    }
    return empty($data)
        ? null
        : $data;
}

$db_connection = mysql_connect('host', 'user', 'pass');
mysql_select_db('name', $db_connection);
$rooms = getRooms($db_connection);

Заключение этих функций в класс и доступ к ним с помощью методов - это еще один шаг, поскольку экземпляр объекта может управлять своим собственным соединением и т. Д., Но это может быть шагом дальше, чем необходимо. Другие функции (основанные на том, что я могу догадаться) могут быть:

function getRoomById($link, $id){ }
function getRoomsByName($link, Array $names){ }
0 голосов
/ 07 марта 2011

Вы можете заключить свои запросы в функции PHP. Например, вот так:

function &getRooms(){
    $query="SELECT id,name FROM rooms";
    $result=mysql_query($query);

    $ar_out=array();
    while ($row = mysql_fetch_assoc($result)) {
        $ar_out[]=$row;
    }
    return $ar_out;
}

Тем не менее, вы действительно должны найти учебник или книгу о том, как использовать MySQL и PHP вместе. Есть много вещей, которые нужно знать об организации и производительности кода.

0 голосов
/ 07 марта 2011

Я полагаю, что ваш руководитель курса ссылается на встроенные в MySQL функции PHP - http://php.net/manual/en/book.mysql.php

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