私は現在、いくつかのコードをmysqlからmysqliに変換しています。このクラスをダウンロードしました: https ://github.com/ajillion/PHP-MySQLi-Database-Class
私はこれと同じくらい簡単なことを試みています:
$params = array('handset');
$rs = $this->db->rawQuery("SELECT Id FROM productrates WHERE Type = ? ORDER BY GrossYearly ASC LIMIT 0,1 ", $params);
print_r($rs);
それは印刷されます:
配列([0] =>配列([Id] => 100017))
このクラスを使用しないときは、後で次のコードを使用していました。
if ($rs->num_rows != 0) {
$row = $rs->fetch_assoc();
ただし、これでエラーが発生します。
メッセージ:非オブジェクトのプロパティを取得しようとしています
したがって、結果は配列に戻ってきます-戻ってきた結果の数を読み取って、それらをループするにはどうすればよいですか?私はこれが単純でなければならないことを知っていますが、私は本当に自分自身を混乱させることができました、そして私は迅速な解決策が必要です。
詳細情報-rawQueryは次のとおりです。
public function rawQuery($query, $bindParams = NULL)
{
$this->_query = filter_var($query, FILTER_SANITIZE_STRING);
$stmt = $this->_prepareQuery();
if (gettype($bindParams) === 'array') {
$params = array(''); // Create the empty 0 index
foreach ($bindParams as $prop => $val) {
$params[0] .= $this->_determineType($val);
array_push($params, $bindParams[$prop]);
}
call_user_func_array(array($stmt, "bind_param"),$this->refValues($params));
}
$stmt->execute();
$this->reset();
$results = $this->_dynamicBindResults($stmt);
return $results;
}