执行mysqli准备stmt SELECT * FROM表来获取没有bind_params的所有行,是否可能?

时间:2015-01-05 00:50:16

标签: php mysql mysqli prepared-statement

我正在使用预处理语句移动到mysqli,我正在尝试使用此sql从表中获取所有行:

$stmt = $mysqli->prepare(" SELECT * FROM users ")

问题是我认为不需要绑定参数因为我不需要几个字段,我需要所有数据所以我真的需要这一行吗?

$stmt->bind_params("s", what goes here if i don't need just one value and want get all?);

我需要所有的行,我没有看到绑定任何参数的需要,所以,我怎样才能得到像旧方式的结果?

while($result = mysql_fetch_array($query)){
 echo $result['first_name'].'<br>';
 echo $result['last_name'].'<br>';
}

1 个答案:

答案 0 :(得分:1)

我找到了一种方法来做到这一点,我将作为我自己的回应分享给你:

if ($stmt = $mysqli->prepare(" SELECT * FROM users")) {

    $stmt->execute();
    $stmt->bind_result($id_user, $first_name, $last_name, $other_fields_in_same_table_position);
    while($stmt->fetch()){
        echo 'Row: '.$id_user.' - '.$first_name.' '.$last_name.'<br>';
    }

    $stmt->close();

}else{

    echo "Error";
}