PHP mysqli返回错误的列

时间:2011-04-06 12:32:44

标签: php mysql mysqli

我正在编写一个需要使用MySql的简单PHP cgi程序。我从播放器表中的两列开始,我的SELECT运行正常。之后我又添加了一个名为class_id的列。当我现在执行SELECT时,我在$ row中返回三个条目,但第三个条目称为player而不是class_id。

$sql = "SELECT * FROM players";
$result = $conn->query($sql);
while( $row = $result->fetch_assoc() ){
  do something
}

架构:

DROP TABLE IF EXISTS `asrleague`.`players`;
CREATE TABLE  `asrleague`.`players` (
  `player_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `kgs_handle` varchar(40) NOT NULL,
  `class_id` int(10) unsigned NOT NULL,
  PRIMARY KEY (`player_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

PHP缓存有关该表的信息,我需要以某种方式刷新它吗?

我也看到了这个警告,它始终存在:

<b>Warning</b>:  mysqli::mysqli() [<a href='mysqli.mysqli'>mysqli.mysqli</a>]: Headers and client library minor version mismatch. Headers:50145 Library:50018 in ...

我不确定这是否相关,但在问题开始之前就已存在。

1 个答案:

答案 0 :(得分:2)

在您的错误消息上进行一些Google搜索,给出了那些有趣的主题:

似乎有必要重新安装PHP。

从第一个链接引用答案(anishmsry's)(粗体来自我):

  

嗨bmcgill ...我安装了php,   mysql和apache几个月前在我的   电脑按照说明操作   来自凯文的书。而且没有   问题。一切都很好。

     我上周买了一台新电脑   安装了最新版本   新电脑。安装后和   运行它。我收到了你的错误   got:警告:mysqli_connect()   [function.mysqli-connect]:标题和   客户端库次要版本不匹配。   标题:50051图书馆:50145

     

我重新安装了一切又一次   收到了同样的错误。我有   对于mysql,php和   你提到的阿帕奇。

     

我卸载了apache和php。和   我安装了早期版本   正在使用:apache- 2.2.11和   PHP-5.3.0。这一切都是   工作正常,没有错误

     好吧,它对我来说就像那样。   这就是我说的原因。我不知道   为什么它现在有效。

     

我在搜索这个问题   net,并在mysql网站的论坛中   我发现其他人有了   这个问题早得多   版本。他重新安装了php和   问题解决了。