在类中为INSERT,DELETE和UPDATE创建动态函数

时间:2015-05-09 20:52:03

标签: php mysql function class mysqli

我想知道是否有一种很好的方法可以在类中创建函数,以便于插入/删除/更新mysql查询。

例如

假设我有一个包含12行的表,我想用另一个类中的两个值进行插入查询。插入功能如何?我希望这个函数可以处理任意数量的值。

60

我最终希望使用预处理语句执行查询,例如:

function addUser($email, $password) {

    $values = array(
        "email" => $email,
        "password" => $password
    );

    $table = 'users';
    $query = $mysql->insert($values, $table);
}

function insert($values, $table) {
    // what would this look like? (note: this function is within another class.
}

1 个答案:

答案 0 :(得分:0)

class Mysql
{
    public static function insert($values, $table)
    {
        if(empty($values) || empty($table))
        {
            // Noting to do
            return "";
        }

        $list = array();

        foreach($values as $k => $v)
            $list[] = "`". $k ."` = '". $v ."'";

        $list = implode(",", $list);
        $query = "INSERT INTO `". $table ."` SET " . $list;
        return $query;
    }
}

$values = array
(
    "email" => "my email",
    "password" => "my password"
);

$table = 'users';
$query = Mysql::insert($values, $table);

echo $query;

这里没有理由使用构造函数,因为所有数据都是静态的。 但如果您愿意,只需从插入功能中删除static即可 并像这样初始化mysql:

$mysql = new Mysql();
$mysql->insert($values, $table);