gpt4 book ai didi

php - 简单的 mysqli 查询不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:53 24 4
gpt4 key购买 nike

我正在尝试从数据库中获取简单信息并将其回显到屏幕上,但它对我不起作用。

$con=mysqli_connect("SERVER.COM","USERNAME","PASSWORD", "DATABASE");

function GetTeamFixtures($team)
{
$queryget = mysqli_query($con, "SELECT * FROM 'mlsfixtures' WHERE team='$team' LIMIT 1");
$row = mysqli_fetch_assoc($queryget);
$gw1 = $row['gw1'];
$gw2 = $row['gw2'];

echo $team.' '.$gw1.' '.$gw2.'<br>';
}

$team = "Chicago Fire"; GetTeamFixtures($team);
$team = "Chivas USA"; GetTeamFixtures($team);
$team = "Colorado Rapids"; GetTeamFixtures($team);
//continue for all teams - removed for simplicity

这是我收到的错误消息(第 46 行是 $queryget= one,第 49 行是 $row = one)。

警告:mysqli_query() 期望参数 1 为 mysqli,第 46 行 server.com\teamfix.php 中给出的 null

警告:mysqli_fetch_assoc() 期望参数 1 为 mysqli_result,在第 49 行的 server.com\teamfix.php 中给定为 null

知道为什么吗?对于 19 个不同的团队,我不确定是否有更简单的方法来做同样的事情。

最佳答案

除了解释连接的两个用户之外,我发现的错误之一是单引号的无效使用。

表名不应该用单引号括起来,因为它们是标识符而不是字符串文字。删除单引号,它应该可以工作,

SELECT * FROM mlsfixtures WHERE team='$team' LIMIT 1

作为旁注,查询易受 SQL Injection 攻击如果变量的值(s) 来自外部。请查看下面的文章,了解如何预防它。通过使用 PreparedStatements,您可以摆脱在值周围使用单引号。

关于php - 简单的 mysqli 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15962368/

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