posts - 162,  comments - 527,  trackbacks - 0

[2006-08-23]
       更新4、5

        总体来说这本书还算可以,至少比以前什么都不写就拿出来骗钱的书要好多,但是书上还是有很多错误,不知道是印刷的原因还是作者的原因。

        书中代码下载:http://www.cnitblog.com/Files/neatstudio/archive.rar

         只能随着我的翻阅,而逐步更新书中的小BUG,希望对PHP的爱好者和初学者有点用吧。
        由于我自己看书也是信手翻的,不可能一点点全部看过去,有点地方会跳过的,如果发现有问题,你们可以在这里留言,我会尽量解答。
        我不是作者,只是想为PHP爱好者尽点力。

        这本书让我不习惯的地方是:代码风格不统一,介绍函数和例程的代码风格完全两样,这样会误导读者的,建议在程序编写时,使用介绍函数的那种风格:
     

<?
// 尽量使用这种风格
function  function_name(  $arg_1   ,   $arg_2 )
{
   
return   .. ;
}

// 少用这种风格
function  function_name (  $arg_1   ,   $arg_2 ){
    
return   . ;
}
?>

虽然第二种风格节约空间,但为了更清楚的看好代码,初学者建议还是使用第一种风格。


  1. P10 , 第一个示例代码中的<input type="submit" name=" submit" value=".........">这里面的name=" submit"多了一个空格。
  2. P13. 这个示例是有问题的,主要是第一个require_source.php,其实它的内容应该象第二个示例一样的,估计它的内容应该是
    <?php
        
    echo "<h2>文件require_source.php被调用</h2><p>";
    ?>
  3. P39.示例代码中的注释请不要看,这个注释是错误的,正确显示P40页上有输出。
  4. P44 的例子有问题,如果mail格式是aaa.bbb@agc.com这样的话,程序执行就有问题,因为它判断了$hasAtSymbol<$hasDot,这是不对的,一般情况下,简易判断的话,这个小判断就不要留在上面了,虽然大多数情况下,mail格式都是 username@domain.com,但是也会有user.name@domain.com这种情况的。
  5. P44的第二个例子和第一个例子的问题一样,但第二个例子只是演示,因此无法说正确不正确。
posted on 2006-08-21 08:20 简单人生 阅读(1799) 评论(22)  编辑 收藏 引用 所属分类: Loving PHP

FeedBack:
# re: 《精通PHP+MYSQL应用开发》纠错
2006-08-24 09:34 | x
说实话,这本书也是骗钱的,基本没有上面自己的东西  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2006-08-24 21:51 | 简单人生
现在是编书,不是著书,不能要求太高,只希望能给PHPER一条比较清晰的路走走而已!
不看的过分重,只是……尽量帮他纠纠错吧!
看到哪里纠到哪里  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2006-09-10 21:24 | Marvinux
P10 , 第一个示例代码中的<input type="submit" name=" submit" value=".........">这里面的name=" submit"多了一个空格。

这不是多了一个空格,而是那个双引号用了全角,是编辑的错误吧。P13的错误实在太离谱了,内容应该是:
(1)文件require_source.php
-------------------------------------
<!--调用文件:include_source.php-->
<?php
include("include_source.php");
?>
-------------------------------------

这本书我还没有看完,评论好坏还尚早,但就单细读第一章之后,总的感觉一般,犯了较大的笔误,可想审稿实在太不认真和负责!
不知道“简单人生”兄有否继续看这本书,若有,希望以后能多点交流。  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2006-09-12 23:47 | 简单人生
呵呵,随时可以交流。你可以加我QQ的!  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-01-18 16:24 | 周喜
《精通PHP+MYSQL应用开发》24个例子
一登陆就出错!添加用户也是这样!

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in

出现这个问题是什么意思??  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-01-18 16:27 | 周喜
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in D:\sinopecoa\DataBase.php on line 7  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-01-18 21:38 | 简单人生
......
正常。你看看,这种情况,有可能是结尾没有;或者字符变成中文字符了。

如果可以,麻烦你把全部代码贴出来才行  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-01-19 08:26 | 周喜
我的QQ:20574816
代码怎么贴在这?  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-01-19 08:35 | 周喜
<!--数据库类文件:DataBase.php-->
<?php
require("sys_conf.inc"); //包含系统配置文件
class DataBase
{
//属性
public $mConnId; //连接标识
public$mSqlString; //待执行的SQL语句
public $mResultArray; //执行Select语句返回的结果数组

//构造函数
function __construct($pHost,$pUser,$pPwd,$pDbName)
{
$this->mConnId=mysql_connect ($pHost,$pUser,$pPwd);//建立连接
mysql_select_db($pDbName, $this->mConnId); //选择数据库
}

//__destruct:析构函数,断开连接
function __destruct()
{
//mysql_close($this->mConnId);
}

//增删改数据
function ExecuteSql()
{
//echo $this->SqlString."<br>";
mysql_query($this->mSqlString);
}

//查询数据,返回值为对象数组,数组中的每一元素为一行记录构成的对象
function Query(){
//echo $this->SqlString."<br>";
$i=0;
$query_result=mysql_query($this->mSqlString,$this->mConnId);
while($row=mysql_fetch_object($query_result))
{
$this->mResultArray[$i++]=$row;
}
}

}//class DataBase

/*
$db=new DataBase($DBHOST,$DBUSER,$DBPWD,$DBNAME);

$db->SqlString="insert into test(t1,t2) values('1','2')";
$db->ExecuteSql();

$db->SqlString="select * from test";
$db->Query();
print_r($db->mResultArray);

$db->__destruct();
$db=NULL;
//*/
?>

提示第七行!把pulice改为var后提示

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in D:\sinopecoa\DataBase.php on line 35

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in D:\sinopecoa\DataBase.php on line 36
  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-01-19 11:08 | 简单人生
public$mSqlString; //待执行的SQL语句

少空格 ?
你用的是PHP4还是PHP5?
  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-01-19 15:19 | 周喜
p'h'p4  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-01-19 15:20 | 周喜
本身有空格的呀  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-01-20 00:11 | 简单人生
已经加你QQ  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-01-20 00:12 | 简单人生
可以QQ上聊。顺便说一声,PHP4的class里是不支持public的。因此,你得把所有的public都先改成var吧  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-03-01 10:42 | DW
谢谢呀.回去试试  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-03-27 10:37 | yeti
两种风格都没有错!
一般说来,西方喜欢用第二种:
function xyz() {
return ...;
}

国内常用第一种:
function xyz()
{
return ...;
}


你自己孤陋寡闻了  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-03-27 11:26 | 简单人生
呵呵,楼上说的好象有点问题。
以前在C下面的时候,大多数都是使用
function aa(){
}
这种方式,因为那时候显示屏小,这样可以节约视觉空间,而且由于这样的编码不是很直观,在后来的程序中都不太使用了。 以前VC默认的function就是那样的,但到了C#后,都变成了
function aa()
{
}
看起来直观而已。

所以我上面的留言是:初学者尽量使用
function aa()
{
}
查错也比较方便。在代码收缩后,看起来也比较爽  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-04-13 05:47 | pfeffer
你好,楼主,我真在本机上调试C24里面的代码,可是当我运行*Update.php或者*View.php是总出来下面警告!
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in D:\httproot\mywork\DataBase.php on line 36

请问DataBase.php出现了什么情况,应该怎么改?期待解答,谢谢!~  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-04-13 09:16 | 简单人生
你自己看一下,36行,是mysql_fetch_object,而你的出错信息却说它不是一个资源,那就证明,你读取有误,或者你的sql查询有误。
你在36行前加一个 echo( $this->SqlString );
然后,COPY出来,到phpmyadmin里执行一下,看看错在哪里
  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-05-13 16:44 | 朱信林
真是好人呀..谢谢代码啦.  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-07-11 21:20 | Thoreau
论坛出现问题,提示如下
Query Error: SELECT * FROM pw_threads WHERE fid='24' AND ifcheck='1' ORDER BY topped DESC, lastpost DESC LIMIT 0,3000

The URL Is:
http://www.youngtv.net/bbs/thread.php?fid=24

MySQL Server Error:
Can't open file: 'pw_threads.MYI'. (errno: 145) ( 1016 )

You Can Get Help In:
http://www.phpwind.net

不知道怎么解决,网上有人说用数据库修复pw_thread
请高手指点~
谢谢
  回复  更多评论
  
# re: 《精通PHP+MYSQL应用开发》纠错
2007-07-11 21:37 | 简单人生
如果你可以直接操作数据库,你完全可以到命令行下进行一下Repair table命令,如果不行的话,你用PHPMYADMIN,打开数据库,选中你要修复的表,到表结构的最下面有一个下拉框,选择:修复。如果你没有办法使用PHPMYADMIN,不知道phpwind是否有执行sql的功能,如果有的话,你直接运行REPAIR TABLE `'pw_threads` ,就可以了。因为discuz有这个功能,我想PW应该也会有的  回复  更多评论
  


标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)
 
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
 
相关链接:



<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用链接

留言簿(15)

随笔分类(73)

文章分类(2)

相册

友逹們

搜索

  •  

最新评论

评论排行榜

60天内阅读排行