通过PHP查询数据库(有些问题)


Querying the database through PHP (some trouble)

好的,所以我正在尝试查询数据库,以查找name列中与id列中的值相对应的值。所以我有id,我用它来获取值。出于某种原因,这似乎不起作用。回显名称不会打印出与该id对应的名称,而是只打印出1,而且我也没有收到任何错误。

    $con = new mysqli('localhost', 'username', 'pass', 'database_name');
    $id = htmlspecialchars($_GET["id"]);
    $query = 'SELECT name FROM files 
        WHERE id=' .$id;
    $query_p = $con->prepare($query);
    $name = $query_p->execute();

    $con->close;
echo $name;
$db = new mysqli('localhost', 'username', 'pass', 'database_name');
$sql = 'SELECT name FROM files WHERE id=' . $_GET["id"];
$result = $db->query($sql);
//...
$row = $result->fetch_assoc();
$name = $row['name'];
$name = $query_p->execute(); //  This won't give you the name back

execute()不会返回这些值。

成功时返回TRUE,失败时返回FALSE。

你不认为你必须fetch的结果吗?

$query_p = $con->prepare($query);
$query_p->execute();
$query_p->bind_result($name);
while ($stmt->fetch()) {
    printf ("%s 'n", $name);
}

你能试试这个吗,

 $id = $_GET["id"];
 $query = 'SELECT name FROM files  WHERE id="'.$id.'"' ;
 $query_p = $con->prepare($query);
 $sth = $query_p->execute();
  while( $row = $sth->fetchAll()){
     echo $row['name'];
 }