将PHP函数与数据库集成

时间:2011-03-07 15:25:36

标签: php mysql function

我刚刚提交了我的工作,我的课程负责人要求我使用PHP函数来查询我的数据库。我怎样才能做到这一点?是否可以在查询之前添加“function 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 个答案:

答案 0 :(得分:1)

如果他正在寻找其余代码和访问数据库的代码之间的抽象级别,那么将数据库逻辑包装在函数中应该是正确的路径:

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){ }

答案 1 :(得分:0)

我认为你的课程负责人指的是PHP的原生MySQL函数 - http://php.net/manual/en/book.mysql.php

答案 2 :(得分:0)

您可以将查询包装在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;
}

这就是说,你真的应该找到关于如何一起使用MySQLPHP的教程或书籍。有关代码组织和性能的知识有很多。