PHP使用获取单值查询

时间:2018-09-12 12:56:25

标签: php sql

我必须使用此代码来获取单个记录,但是在检查var_dump中获取所有记录时,如果有人知道,请告知我

$selected_result = $mysqli_lib_obj->query("SELECT * FROM orders WHERE id='".$order_id."'");

3 个答案:

答案 0 :(得分:2)

正确的解决方案是通过SQL限制结果:

if ($stmt = $mysqli_lib_obj->prepare("SELECT * FROM orders WHERE id=? LIMIT 1")) {
    $stmt->bind_param("i", $order_id);
    $stmt->execute();
    $selected_result = $stmt->get_result();
    $num_of_rows = $selected_result->num_rows;
    while ($row = $selected_result->fetch_assoc()) {
         // Do something with $selected_result
    }
    $stmt->free_result();
    $stmt->close();
}

并且始终使用准备好的语句,如果您不这样做……则会让黑客打开数据库的大门。

答案 1 :(得分:0)

您可以使用

"SELECT * FROM orders WHERE id='".$order_id."' Limit 1"

答案 2 :(得分:0)

实际问题出在查询本身上,请尝试这种方式。

$sql = "SELECT * FROM orders WHERE id='$order_id' limit 1";