我正在尝试为常见查询和我使用php运行的其他操作编写一系列实用程序函数。
我想这样做的原因是我的应用程序可以在PDO,mysqli以及它们接下来提出的任何内容之间轻松升级。
在我首先采用这种方法之前,我想知道是否有一些PHP专家可以审查这种方法并告诉我你的想法 - 这对未来的打样和可升级性是个好主意吗?这将如何影响性能?我将来会以任何方式限制我的申请吗?
//BASIC QUERY EXECUTION (ESCAPED)
function qry($sql)
{
$sql = $db->real_escape_string($sql);
if(!$result = $db->query($sql))
{
die('There was an error running the escaped query [' . $db->error . ']');
}
return $result;
}
//PREPARE AN SQL STATEMENT
function prep($sql)
{
$statment = $db->prepare($sql);
return $statement;
}
//BIND A PARAMETERS AND VARIABLE TYPE
function bnd($statement,$parameter,$type)
{
$statement->bind_param($type, $parameter);
return $statement;
}
//EXECUTE PREPARED QUERY (UNESCAPED)
function ex($statement)
{
if(!$result = $statement->execute())
{
die('There was an error running the prepared query [' . $db->error . ']');
}
return $result;
}
//FETCH ARRAY
function ftch($result)
{
$row = $result->fetch_assoc();
return $row;
}
//GET NUMBER OF ROWS
function num($result)
{
$num = $result->num_rows;
return $num;
}
//FREE THE RESULT
function fre($result)
{
$result->free();
}
答案 0 :(得分:1)
只需几条指南
qry()
功能根本不起作用。 其余的都很好,虽然我会摆脱bnd()
和prep()
函数,以便在一次ex()
调用中完成所有操作。而且我还会创建单独的函数来获取单独的结果类型,例如标量,行,行数组和资源。以下是我所谈论的一个例子:safeMysql class基于非常相似的概念