在Select语句中获取联盟值(PHP)
我在这里有一个查询,以获得球队,并根据他们的联赛筛选他们。我的问题是,在以下代码的console.log中,数据显示正确,但在SELECT语句中,数据不起作用,因为它在下拉列表中没有显示任何内容。当我进行硬编码时,SELECT语句工作正常。知道有什么问题吗。谢谢 代码在Select语句中获取联盟值(PHP),php,mysql,sql,Php,Mysql,Sql,我在这里有一个查询,以获得球队,并根据他们的联赛筛选他们。我的问题是,在以下代码的console.log中,数据显示正确,但在SELECT语句中,数据不起作用,因为它在下拉列表中没有显示任何内容。当我进行硬编码时,SELECT语句工作正常。知道有什么问题吗。谢谢 代码 $league = ''; if(isset($_POST['selected'])): $league = $_POST['selected']; endif; $home_team = $dbh->prepar
$league = '';
if(isset($_POST['selected'])):
$league = $_POST['selected'];
endif;
$home_team = $dbh->prepare("SELECT * FROM teams WHERE competition = :league");
echo "<script>console.log($league)</script>";
$home_team->execute([ ':league' => $league ]);
FWIW,这对我来说很好
<?php
/*
DROP TABLE IF EXISTS teams;
CREATE TABLE teams
(team_id SERIAL PRIMARY KEY
,team VARCHAR(30) NOT NULL UNIQUE
,competition VARCHAR(30)
);
INSERT INTO teams VALUES
(1,'Arsenal','Premiership'),
(2,'Chelsea','Premiership'),
(3,'Crystal Palace','Premiership'),
(4,'QPR','Championship'),
(5,'Greenwich Borough','Isthmian');
*/
require('path/to/pdo/connect.ion');
$league = '';
$_POST['selected'] = 'Premiership';
if(isset($_POST['selected'])):
$league = $_POST['selected'];
endif;
//'$pdo' is my connection object
$home_team = $pdo->prepare("SELECT * FROM teams WHERE competition = :league");
echo "<script>console.log($league)</script>";
$home_team->execute([ ':league' => $league ]);
$data = $home_team->fetchAll();
print_r($data);
?>
1。您对SQL注入2是开放的。您在处理3时没有错误$联盟可能没有价值4。您需要了解服务器端和客户端编程,因为您的执行顺序显然不正确。正在控制台中检索值。如果您的问题是输出不正确;如果您展示该代码,可能会有所帮助?我的问题是,我给出的代码在SELECT语句中是否正确,因为在console.log中它被正确输出。这是否回答了您的问题?它可以像这样工作,但我正在做这部分$data=$home\u team->fetchAll()
在另一个php文件中,在我将WHERE clauseI包含在问题WHERE中之前,该文件工作正常。我在获取团队数据的同一个文件中添加了AJAX调用
$('#input_competition').on('change', function () {
var selectedLeague = $('#input_competition').find(":selected").text();
$.ajax({
url: 'queries/view_fixtures_queries.php',
type: 'POST',
data: {'selected' : selectedLeague},
success: function(data) {
console.log(data);
}
});
});
<?php
/*
DROP TABLE IF EXISTS teams;
CREATE TABLE teams
(team_id SERIAL PRIMARY KEY
,team VARCHAR(30) NOT NULL UNIQUE
,competition VARCHAR(30)
);
INSERT INTO teams VALUES
(1,'Arsenal','Premiership'),
(2,'Chelsea','Premiership'),
(3,'Crystal Palace','Premiership'),
(4,'QPR','Championship'),
(5,'Greenwich Borough','Isthmian');
*/
require('path/to/pdo/connect.ion');
$league = '';
$_POST['selected'] = 'Premiership';
if(isset($_POST['selected'])):
$league = $_POST['selected'];
endif;
//'$pdo' is my connection object
$home_team = $pdo->prepare("SELECT * FROM teams WHERE competition = :league");
echo "<script>console.log($league)</script>";
$home_team->execute([ ':league' => $league ]);
$data = $home_team->fetchAll();
print_r($data);
?>