我似乎无法使我的查询工作。当我使用$sth->execute()时;我确实得到了一本书,但据我所知,它对我的目标来说毫无价值。如果使用query,则不会显示任何内容。请记住,我是一个初学者,当谈到编码。而且,这只是学校的一个项目。
我不知道为什么第一行代码不能实现,所以请将下面的行作为代码的一部分:
$team1 = $_POST['teamname'];
$sth = $pdo->prepare("SELECT odds1 FROM odds WHERE :team1=team1");
$sth->bindParam(':team1', $team1);
$sth->query();
$values = $sth->fetchAll(PDO::FETCH_ASSOC);
echo $values[odds1];
2条答案
按热度按时间biswetbf1#
这段代码应该会因为错误而崩溃,所以如果你想知道为什么它“不起作用”,首先要检查的是你的错误日志。php会在那里输出各种各样的警告和错误,以帮助您进行调试,所以如果您不知道现在是时候找出原因了。
技术上的解决办法是
query()
是在语句句柄上运行的错误方法。而是你打电话来execute()
:实际上,您可以将此最小化:
这是因为
execute
可以获取参数数组。sql中参数的顺序通常是
column=?
但您可以按任意顺序进行比较,mysql的比较是双向的。如果您将查询编写为:现在有一个列名
odds1
以及team1
通常是违反了数据库规范化的零、一或无限规则的标志。一个适当的范式将在一个记录和其他记录之间具有一对多的关系。h4cxqtbf2#
改变
到