在请求后的echo中显示错误的值

时间:2014-02-03 15:07:14

标签: php mysql

我正在尝试从网址中显示一个团队名称,从我的数据库中提取有关该团队的信息

<?
$query = "select * from teams where 
name='".$mysqli->real_escape_string($_REQUEST['name'])."'";

$result = $mysqli->query( $query );
$row = $result->fetch_assoc();

$id   = $row['id'];
$name = $row['name'];
$lon  = $row['lon'];
$lat  = $row['lat'];
$distance = $row['distance'];
$postcode = $row['postcode'];
$phone    = $row['phone'];
 ?>

这个工作正常,直到我在数据库中放入第二个团队名称,现在所有页面都显示该名称

the URL is http://domain.com/team.php?name=Test%20TeamA

并显示Test TeamB而不是上面所需的

我已经在2台上检查了这个,只是为了确保我的表格没有问题我曾经将数据放入我的数据库或浏览器中挂起的任何值

这是为什么这样做的?


SQL DUMP

--
-- Table structure for table `teams`
--

CREATE TABLE IF NOT EXISTS `teams` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL,
  `lat` varchar(32) NOT NULL,
  `lon` varchar(32) NOT NULL,
  `distance` varchar(20) NOT NULL,
  `postcode` varchar(20) NOT NULL,
  `phone` varchar(20) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Dumping data for table `teams`
--

INSERT INTO `teams` (`id`, `name`, `lat`, `lon`, `distance`, `postcode`, `phone`) VALUES
(1, 'Test TeamA', '52.483038', '0.178962', '12.9', 'PE15 0JJ', ''),
(3, 'Test TeamB', '52.45645', '0.823423', '12', '', '01231223');

1 个答案:

答案 0 :(得分:0)

对于像这样的问题,这不是理想的答案,但请查看我的问题下的所有回复

在我的情况下,我在页面上包含的另一个页面上出现错误

我最好的建议是做NickCoon评论的内容

echo $query;

查看正在使用的查询。然后剥离所有页面以消除问题