gpt4 book ai didi

PHP mysqli oop 从表错误中获取数据

转载 作者:搜寻专家 更新时间:2023-10-30 20:23:42 25 4
gpt4 key购买 nike

我想使用 PHP mysqli 从我的表中获取一行。它使用准备好的语句,但我不能那样做,我的代码什么也没有显示。我该怎么办?

<?php
require_once 'inc/db.inc.php';

$post_id = $_GET['id'];

$q = "SELECT post_id, post_name, post_title, post_content, post_author, post_short_des, post_tag, post_date FROM posts WHERE post_id=? LIMIT 1";
$stmt = $conn->prepare($q);
$stmt->bind_param('i', $post_id);
$stmt->execute();
$stmt->bind_result($post_id, $post_name, $post_title, $post_content, $post_author, $post_short_des, $post_tag, $post_date);
$stmt->fetch();

print_r($stmt);

最佳答案

您需要绑定(bind)结果,然后获取它们。由于您有 LIMIT 1,因此无需循环任何内容,因为无论如何您只会获取一行。

请注意,我们现在选择一列而不是 SELECT *,在本例中,我们从 content 列中选择(更改它在您的数据库表中显示的内容) .重要的是,所选列的数量与您在 mysqli_stmt_bind_result() 中绑定(bind)的变量相匹配。您可以选择多列,只需用逗号分隔即可。

$post_id = $_GET['id'];

$q = "SELECT content FROM posts WHERE post_id=? LIMIT 1";
$stmt = mysqli_prepare($dbc, $q);
mysqli_stmt_bind_param($stmt, 'i', $post_id);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $content);
mysqli_stmt_fetch($stmt);

if (mysqli_stmt_num_rows($stmt)) {
echo $content;
} else {
echo "No data";
}

我是用手机写的,所以可能会有一些错误。尽管文档显示了很好的例子。

关于PHP mysqli oop 从表错误中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50842413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com