回应使用$ _GET查询MySQL与PHP的结果

时间:2016-10-17 21:29:04

标签: php mysql mysqli get

如何回显此代码的结果?

编辑:这是新代码。基于官方PHP站点的示例。

<?php
require 'connection.php';
$getid = $_GET["id"];
$sql = "SELECT * FROM pasteinfo WHERE id = ?";
$stmt = $con->prepare($sql);
$stmt->bind_param("i", $getid);


if ($stmt = $mysqli->prepare($sql)) {
    $stmt->execute();
    $stmt->bind_result($paste)
        while($stmt->fetch()) {
            printf ("%s \n", $paste);
        }

    $stmt->close();
    $mysqli->close();

}
?>

1 个答案:

答案 0 :(得分:0)

在调用bind_param()之后,您再次准备了语句,因此新语句没有绑定参数。在致电;后,您还错过了bind_result()

<?php
require 'connection.php';
$getid = $_GET["id"];
$sql = "SELECT * FROM pasteinfo WHERE id = ?";

if ($stmt = $mysqli->prepare($sql)) {
    $stmt->bind_param("i", $getid);
    $stmt->execute();
    $stmt->bind_result($paste);
    while($stmt->fetch()) {
        printf ("%s \n", $paste);
    }

    $stmt->close();
    $mysqli->close();

}
?>

bind_result中的变量数量也应与您选择的列数相同。拥有更少的东西可能没问题,而且只会忽略其余的列,我不确定。最好选择特定列而不是select *,因为根据表定义中列的顺序是危险的。