Sınıfta PHP / MySQLisolating veritabanı erişimi - Birden fazla satır seçer nasıl işleneceğini
Here’s a coding question. I isolated all DB access functions in a class
<?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();
?>
Benim yordamı çağrılırken:
<?php
$dbarray = $DB->validateUser ($_POST['userid'], $_POST['password']);
?>
Sorun yok gayet iyi çalışıyor. Birden fazla satır bir sonuç kümesi ile bir sorun haline çalıştırmak. Şimdi geri döndüm her satır için sınıf nesnesine almak zorunda. Ben arama rutin MySQL kodu eklerseniz sorun yok, ama benim sınıfta bu izole tutmak istiyorum ve ben bu kodu nasıl emin değilim.
Herhangi bir düşünce? Herhangi bir örnek?