[英]How do read and loop through these MySQLi results?
我目前正在将一些代码从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;
}
if ($rs) {
$row = $rs[0];
}
但最好下载这个: https : //github.com/colshrapnel/safemysql
您只需两行即可获得$ id
$sql = "SELECT Id FROM productrates WHERE Type = ?s ORDER BY GrossYearly LIMIT 1";
$id = $this->db->getOne($sql, 'handset');
您的函数将一个数组返回到一个数组中:)因此,要显示第一个数组:
$FirstArray = $rs[0];
要显示此数组中的所有项目:
foreach ($FirstArray as $result)
echo $result;
希望能帮助到你 :)
PHP-MySQLi-Database-Class没有积极的发展。 我不认为您应该浪费时间。无论如何,它留给您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.