关于【《PHP 敏捷开发框架》 】里面一个小疑问
里面第四章最后:附录:使用 MYSQL 查询语句创建“websites”数据库,我是已经建立了websites数据库,但是里面的字段跟例子的字段不相符,例如:sites 表
CREATE TABLE IF NOT EXISTS `sites` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(100) NOT NULL,
`url` VARCHAR(100) NOT NULL,
`un` VARCHAR(50) NOT NULL,
`pw` VARCHAR(50) NOT NULL,
`client1` INT(10) NOT NULL DEFAULT '0',
`client2` INT(10) NOT NULL DEFAULT '0',
`admin1` INT(10) NOT NULL DEFAULT '0',
`admin2` INT(10) NOT NULL DEFAULT '0',`domainid` INT(10) NOT NULL DEFAULT '0',
`hostid` INT(10) NOT NULL DEFAULT '0',
`webroot` VARCHAR(50) NOT NULL,
`files` TEXT NOT NULL,`filesdate` INT(11) NOT NULL DEFAULT '0',`lastupdate` INT(11) NOT NULL DEFAULT '0',
`submit` VARCHAR(25) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=15;
实例中提到的【clientid】字段都找不到的,奇怪,不知道大家会不会
$this->db->select('url','name','clientid');
$query = $this->db->get('sites');
而且建立完之后这个似乎也是空表,没有任何数据。 关于第一点,我回去查一下,也许是书的一个错误。
第二点,我想这里应该就是建的空表吧。原书就是这样的,呵呵。 ok,谢谢Hex! 本帖最后由 milk100 于 2009-4-10 17:22 编辑
刚刚按照实例做,又发现一个 问题:查询数据库显示所有列则没有问题,指定显示列时则出问题了,源代码如下:
function q2()
{
$this->load->database();
$this->db->select();
$this->db->from('sites');
$this->db->orderby('name','desc');
$this->db->limit(5);
$query=$this->db->get();
foreach ($query->result() as $row)
{
print $row->url."";
print $row->name."";
//print $row->un."";
//print $row->pw."";
print "<br>";
//print $row->client;
}
上面这个select所有列是正常的!url和name列都是显示出来!
function q2()
{
$this->load->database();
$this->db->select('url','name');
$this->db->from('sites');
$this->db->orderby('name','desc');
$this->db->limit(5);
$query=$this->db->get();
foreach ($query->result() as $row)
{
print $row->url."";
print $row->name."";
//print $row->un."";
//print $row->pw."";
print "<br>";
//print $row->client;
}
如果指定显示url和name列则出现如下错误:
www.mile1.com
A PHP Error was encounteredSeverity: Notice
Message: Undefined property: stdClass::$name
Filename: controllers/start.php
Line Number: 69
www.kate1.com
A PHP Error was encounteredSeverity: Notice
Message: Undefined property: stdClass::$name
Filename: controllers/start.php
Line Number: 69 看看你的 CI 版本,这本书的版本是 1.5。
我看了一下 select 方法的参数可能新版已经变了,目前手册里是 select('url, name')
你写的是 select('url', 'name') 好的谢谢,我回头试试看。
页:
[1]