Php 如何读取和循环这些MySQLi结果?
我目前正在将一些代码从mysql转换为mysqli。我下载了这个课程: 我正在尝试这样简单的事情:Php 如何读取和循环这些MySQLi结果?,php,mysql,mysqli,php-mysqlidb,Php,Mysql,Mysqli,Php Mysqlidb,我目前正在将一些代码从mysql转换为mysqli。我下载了这个课程: 我正在尝试这样简单的事情: $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]=>数组([
$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;
}
但最好下载这个:只需两行代码即可获得$id
$sql = "SELECT Id FROM productrates WHERE Type = ?s ORDER BY GrossYearly LIMIT 1";
$id = $this->db->getOne($sql, 'handset');
PHP MySQLi数据库类中没有活动的开发。 我认为你不应该浪费时间。。
无论如何,它还是留给您的。您的函数将数组返回到数组中:) 因此,要显示第一个:
$FirstArray = $rs[0];
要显示此数组中的所有项目,请执行以下操作:
foreach ($FirstArray as $result)
echo $result;
希望有帮助:)马上!谢谢您将如何检查一个空记录集?只是:如果(count($rs)==0)
if(count($rs)==0)
等于PHPCool中的if($rs)
,谢谢!我确实需要一个像这样的类,它比mysql更安全,也更易于使用。我想这就行了!是的,这正是它的本质:非常易于使用,而且比任何其他解决方案都更安全。我认为我不需要积极的开发。我只需要简单的东西就行了,如果我需要在这个类中添加任何东西,我可以。你推荐有MySQLi类或类似的吗?我觉得现在是时候更新我所有的mysql代码和保护我的页面了
foreach ($FirstArray as $result)
echo $result;