gpt4 book ai didi

php - 下拉菜单填充了准备好的语句

转载 作者:行者123 更新时间:2023-12-01 00:18:23 25 4
gpt4 key购买 nike

您好,提前感谢您抽出时间。

我希望使用 PHP 中的准备语句从 mysql 数据库填充下拉菜单。我只是在寻找任何具有匹配“client_id”的条目。我已经看到这解决了很多问题(其中一些已经过时,一些非常复杂)但是还没有找到一个以与我一直使用的方式足够相似的方式使用 php 的示例(见下文)所以我可以拼凑出一些有用的东西。

这是我想要使用的代码。

<?php
include ('connect.php');

if ($_POST) {

if (!empty($_POST['client_id'])) {
$client_id = htmlspecialchars($_POST['client_id']);

$stmt = $link->prepare("SELECT project_id, nickname FROM project WHERE client_id=?");
$stmt->bind_param('s', $client_id);
$stmt->execute();

$row = $stmt->fetch();

while ($stmt->fetch()) {
echo ("<option value='$row['project_id']'>$row['nickname']</option>");
}

$stmt->close();

}
}

include ('disconnect.php');
?>

我知道 echo 部分不正确,但我希望至少能够展示我的想法。总的来说,我也不是 100% 正确地使用了行变量。我感谢这里的任何帮助。

编辑:

上面的文件叫做“fetchProjects.php”

这是包含此 PHP 文件的代码。

<div class="twelve columns">
<p>select an existing project below</p>
<select size="10" name="selectedProject">
<?php include('fetchProjects.php')?>
</select>
</div>

最佳答案

您可以使用 bind_result,在 while 循环的每次迭代中,$project_id 和 $nickname 都会更新为当前数据库行值

$stmt = $link->prepare("SELECT project_id, nickname FROM project WHERE client_id=?");
$stmt->bind_param('s', $client_id);
$stmt->bind_result($project_id, $nickname);
$stmt->execute();
$stmt->store_result();

while ($stmt->fetch()) {
echo '<option value="'.$project_id.'">'.$nickname.'</option>';
}

$stmt->close();

未测试,但应该可以使用

关于php - 下拉菜单填充了准备好的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44035000/

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