Преобразование mysql_fetch_array в PDO и наличие нескольких параметров

        <?php

class CMySQL {

// variables
var $sDbName;
var $sDbUser;
var $sDbPass;

var $vLink;

// constructor

public function CMySQL(){
$this->engine = 'mysql';
$this->host = 'Localhost';
$this->database = 'api';
$this->user = 'root';
$this->pass = '';
$dns = $this->engine.':dbname='.$this->database.";host=".$this->host;
$this->vLink = $dns;}
// return one value result
function getOne($query, $index = 0) {
if (! $query)
return false;
$res = mysql_query($query);
$arr_res = array();
if ($res && mysql_num_rows($res))
$arr_res = mysql_fetch_array($res);
if (count($arr_res))
return $arr_res[$index];
else
return false;
}

// executing sql
function res($query, $error_checking = true) {
if(!$query)
return false;
$res = $this->vLink;
if (!$res)
$this->error('Database query error', false, $query);
return $res;
}

// return table of records as result in pairs
function getPairs($query, $sFieldKey, $sFieldValue, $arr_type = MYSQL_ASSOC) {
if (! $query)
return array();

$res = $this->res($query);
$arr_res = array();
if ($res) {
while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
$arr_res[$row[$sFieldKey]] = $row[$sFieldValue];
}
mysql_free_result($res);
}
return $arr_res;
}

// return table of records as result
function getAll($query, $arr_type = MYSQL_ASSOC) {
if (! $query)
return array();

if ($arr_type != MYSQL_ASSOC && $arr_type != MYSQL_NUM && $arr_type != MYSQL_BOTH)
$arr_type = MYSQL_ASSOC;

$res = $this->res($query);
$arr_res = array();
if ($res) {
while ($row = mysql_fetch_array($res, $arr_type))
$arr_res[] = $row;
mysql_free_result($res);
}
return $arr_res;
}

// return one row result
function getRow($query, $arr_type = MYSQL_ASSOC) {
if(!$query)
return array();
if($arr_type != MYSQL_ASSOC && $arr_type != MYSQL_NUM && $arr_type != MYSQL_BOTH)
$arr_type = MYSQL_ASSOC;
$res = $this->res ($query);
$arr_res = array();
if($res && mysql_num_rows($res)) {
$arr_res = mysql_fetch_array($res, $arr_type);
mysql_free_result($res);
}
return $arr_res;
}

// escape
function escape($s) {
return mysql_real_escape_string($s);
}

// get last id
function lastId() {
return mysql_insert_id($this->vLink);
}

// display errors
function error($text, $isForceErrorChecking = false, $sSqlQuery = '') {
echo $text; exit;
}
}

$GLOBALS['MySQL'] = new CMySQL();
?>

Я учусь создавать API с использованием PHP и хочу преобразовать «mysql_fetch_array и mysql_free_result» в PDO и разрешить несколько параметров, как указано. Я получаю сообщение об ошибке для кода выше

mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, задана строка

а также

mysql_free_result () ожидает, что параметр 1 будет ресурсом, задана строка

Как я могу обойти этот код, с которым я столкнулся ..

-1

Решение

Вам не хватает логики подключения, я вижу, что вы прокомментировали эту строку:

//parent::CMySQL( $dns, $this->user, $this->pass );

Однако кажется, что у вас нет родительского класса для этого.

Проверьте эту ссылку

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector