我目前正在将一些代码从 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;
}