gpt4 book ai didi

php - 使用 mysqli bind_result 未从数据库中获取值

转载 作者:行者123 更新时间:2023-11-29 05:17:56 24 4
gpt4 key购买 nike

我正在尝试使用 mysqli 获取在我的数据库表中找到的 int。然后我使用 bind_result() 绑定(bind)结果。但是,当我尝试使用该值时,我只是得到一个 0。我该如何处理?

我的代码是这样的:

$sql = <<<EOF
SELECT
project_salary_amount
FROM projects_set_salary
WHERE project_id = ? ORDER BY project_salary_id DESC LIMIT 1
EOF;
$stmt = $mysqli->prepare($sql) or die ("Feil i database<br>" . $sql . "<br><b>Feilmelding:</b> " . $mysqli->error);
$stmt->bind_param("i", $project_id);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($dbb_salary_amount);
$db_salary_amount = $dbb_salary_amount;
$num_salary_results = $stmt->num_rows;
$stmt->free_result();
$stmt->close();

if($num_salary_results == 0){
$sql = <<<EOF
INSERT INTO
projects_set_salary (project_id)
VALUES ($project_id)
EOF;
$stmt = $mysqli->prepare($sql) or die ("Feil i database<br>" . $sql . "<br><b>Feilmelding:</b> " . $mysqli->error);
$stmt->execute();
$stmt->close();
$db_salary_amount = 10;
$html_set_salary = "";
$html_set_salary .= "<form id=\"form_send_salary\"method=\"post\" action=\"create_set_salary.php\">\n";
$html_set_salary .= "<input type=\"number\" name=\"set_salary\" value=\"$db_salary_amount\">";
}
else{
$html_set_salary = "";
$html_set_salary .= "<form id=\"form_send_salary\"method=\"post\" action=\"create_set_salary.php\">\n";
$html_set_salary .= "<input type=\"number\" name=\"set_salary\" value=\"$db_salary_amount\">";
}

现在输入框内不显示10了。这意味着它不执行 if 语句。但是,为什么我没有从 $db_salary_amount 得到任何结果?我知道我可能不必将变量从 $db_salary_amount 更改为 $db_salary_amount。我只是想找出问题所在。

最佳答案

您在 bind_result() 之后缺少一个 ->fetch()

$stmt->execute();
$stmt->store_result();
$stmt->bind_result($dbb_salary_amount);
$stmt->fetch(); // <--- missing this ->fetch()
$db_salary_amount = $dbb_salary_amount;

来自 ->bind_result() 的文档-> 当调用 mysqli_stmt_fetch() 获取数据时,MySQL 客户端/服务器协议(protocol)将绑定(bind)列的数据放入指定变量 var1,....

关于php - 使用 mysqli bind_result 未从数据库中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30084329/

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