【发布时间】:2009-08-27 15:27:01
【问题描述】:
类中的PHP/MySQL隔离数据库访问——如何处理多行选择
这是一个编码问题。 我隔离了一个类中的所有数据库访问函数
<?php
class DB {
var $conn;
function DBClass () {
@$this-> conn = mysqli_connect (DB_SERVER, DB_USER, DB_PASS, DB_NAME);
}
function validateUser ($aUserid, $aPassword) {
… validation code – sql injection code etc..
$sql = "Select userid, name, level From users where userid = '$aUserid' and password = '$aPassword'";
$result = mysqli_query ( $this->conn, $sql );
if (!$result || (mysqli_num_rows ($result) < 1)) {
return false;
}
$dbarray = mysqli_fetch_assoc ($result); // get a row
return $dbarray;
}
function getProduct ($aProductid) {
return $dbarray;
}
function getProductList () {
// <----------- this would be the problem function
}
}
$DB = new DBClass();
?>
我的调用例程:
<?php
$dbarray = $DB->validateUser ($_POST['userid'], $_POST['password']);
?>
没问题,它工作正常。我遇到了超过一行的结果集的问题。现在我必须回到每一行的类对象。如果我在调用例程中包含 MySQL 代码没问题,但我想将它隔离在我的类中,我不知道如何编写它。
有什么想法吗?有什么例子吗?
【问题讨论】:
标签: php mysql oop coding-style