我的html页面。我有这条线。
<a href="Player_Roster.php?inputyr=2011">2011</a><br />
我的php页面。我有这行代码。
<?php
$inputyr = $_GET[inputyr];
$query = "SELECT * FROM players
WHERE playeryear = $inputyr;
ORDER BY number";
$players = mysql_query($query);
?>
我希望我的php页面使用2011年进行查询。
我点击链接后,它会打开页面。它确实显示。。。但是球员们不填表。如果我在2011中手动键入,那么查询确实有效。
$inputyr
之后的查询中多了一个分号。请尝试以下操作。
$query = "SELECT * FROM players
WHERE playeryear = $inputyr
ORDER BY number";
您还应该对放入sql字符串中的任何内容进行转义。理论上,有人现在可以用精心制作的$inputyr
值对你的数据库做非常糟糕的事情
//protect against sql injection
$inputyr = mysql_real_escape_string($inputyr)
$query = "SELECT * FROM players
WHERE playeryear = $inputyr
ORDER BY number";
您需要$inputyr周围的单引号。
<?php
$inputyr = $_GET[inputyr];
$query = "SELECT * FROM players
WHERE playeryear = '$inputyr'
ORDER BY number";
$players = mysql_query($query);
?>