Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何读取和循环这些MySQLi结果?_Php_Mysql_Mysqli_Php Mysqlidb - Fatal编程技术网

Php 如何读取和循环这些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]=>数组([

我目前正在将一些代码从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]=>数组([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;