gpt4 book ai didi

php - 在 php 函数中使用参数似乎破坏了我的 mysql 查询

转载 作者:行者123 更新时间:2023-11-29 19:40:50 24 4
gpt4 key购买 nike

编辑:由于涉及范围,此问题已作为重复项关闭,但问题实际上与我在 SQL 查询中使用(或缺少)撇号有关。范围不正确,但这不是导致我的问题的原因。我很高兴此问题被删除,或重新打开以发布解决方案。

以下代码可以正常工作并显示一个漂亮的 HTML 表格:

$link = mysqli_connect($host, $username, $password, $db_name);
$round = 1;
$result = mysqli_query($link,"SELECT car.carID, car.team, result.cost FROM result INNER JOIN car ON car.carID=result.carID WHERE result.roundID=$round AND car.class='LMP1'");

echo "<h1>" . 'LMP1' . "</h1>
<table border='1'>
<tr>
<th>Car</th>
<th>Team</th>
<th>Cost</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['carID'] . "</td>";
echo "<td>" . $row['team'] . "</td>";
echo "<td>" . $row['cost'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($link);

但是当我将其包装在函数中时,我得到表标题,但没有数据:

function displayClassCosts($class) {
$link = mysqli_connect($host, $username, $password, $db_name);
$round = 1;
$result = mysqli_query($link,"SELECT car.carID, car.team, result.cost FROM result INNER JOIN car ON car.carID=result.carID WHERE result.roundID=$round AND car.class=$class");

echo "<h1>" . $class . "</h1>
<table border='1'>
<tr>
<th>Car</th>
<th>Team</th>
<th>Cost</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['carID'] . "</td>";
echo "<td>" . $row['team'] . "</td>";
echo "<td>" . $row['cost'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($link);
}

displayClassCosts('LMP1');
displayClassCosts('LMP2');
displayClassCosts('GTE_Pro');
displayClassCosts('GTE_Am');

唯一的区别是查询条件中的硬编码字符串和第一个版本中的 H1 标记与使用传递的变量。

欢迎提出想法!

最佳答案

当包装在函数中时,您将从哪里获取数据库连接的变量$host, $username, $password, $db_name

您可以通过在函数中使用 global 关键字来使用这些变量。

function displayClassCosts($class) {
global $host, $username, $password, $db_name;
.
.
}

另一种方法是将它们作为参数传递。

function displayClassCosts($class, $host, $username, $password, $db_name) {
.
.
}

关于php - 在 php 函数中使用参数似乎破坏了我的 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41361560/

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