繁体   English   中英

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

[英]perform mysqli prepared stmt SELECT * FROM table to get all rows without bind_params, is possible?

我正在使用准备好的语句移至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>';
}

我找到了一种方法,我将作为自己的回应与大家分享:

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";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM