1#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
1#楼 发表于2005-01-10 01:52:38
评分:1
|
|
SQL语句没有明显问题。
如果执行有错误的话,那么就可能出在 count=$counter,修改为count='$counter'
第二个问题,关于empty函数:
----------------------------------------
bool empty ( mixed var)
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。
除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词
-----------------------------------------------
说的已经很明白了。当你只定义了$a而没有赋值,那么返回true.
|
|
2#楼 |
|
|
回复人:mikesumake |
注册时间:2005-01-07 |
主题/回复:8/3 |
积分:443 |
等级:★★☆(五级) |
称号:略有小成 |
|
|
|
2#楼 发表于2005-01-10 04:19:54
评分:×
|
|
<html>
<head>
<title>计数器的制作实例</title>
</head>
<body>
<center>欢迎光临</center>
<center>祝贺你成功地制作了一个基于数据库的计数器!</center><p><p>
<center>
<?php
$cn=mssql_connect("zsy","sa","sa");
mssql_select_db("test",$cn);
$sql="select count from table_count"; <- (就在这行里!)
$result=mssql_query($ssql);
$record=mssql-fetch_array($cn);
if(empty($vistited))
{
$counter=$record["count"]+1;
sql="update table_count set count='$counter'";
$result=mssql_query($sql);
}
mssql_close($cn);
switch(strlen($counteer))
{case 1:
$counter="00000".$counter;
echo "你是第$counter访问者";
break;
case 2:
$counter="0000".$counter;
echo "你是第$counter访问者";
break;
case 3:
$counter="000".$counter;
echo "你是第$counter访问者";
break;
case 4:
$counter="00".$counter;
echo "你是第$counter访问者
我在数据库test中建了表table_count
按照你的方法改了但还是不行啊!
出现了一样的错误:Parse error: parse error, unexpected '=' in D:\web\jsq.php on line 18
如果在别的地方有错误也请指出!
|
|
3#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
3#楼 发表于2005-01-10 16:46:07
评分:♂
|
|
这个代码如果你手工输入的,可能有几个笔误。如果是从程序里面直接复制过来的,那么就是程序错误拉。
没有很仔细的看,起码有下面一些错误:(语法错误)
1、$result=mssql_query($ssql);
这句最好改成: $result=mssql_query($ssql,$cn);
2、$record=mssql-fetch_array($cn);
这句错了2处。必须改成:$record=mssql_fetch_array($result);
3、$result=mssql_query($sql);
这句最好改成: mssql_query($sql,$cn);
另外应该还有一些非语法错误:(语义错误)
1、if(empty($vistited))
这个$visited变量不知道从哪里来的。可能是代码没有帖完整吧。
2、if语句存在一个错误,你想,你的语句的意思应该是,如果$visited为empty,那么把计数器加一,否则什么也不做。当用户第一次访问的时候,if里面的语句执行了,整个程序运行正常,但是当$visited不empty的时候,if里面的语句不执行。也就是说,这个时候$counter变量没有初始化,到了if语句后面的switch语句,那switch(strlen($counteer))的结果肯定一直是0。你的switch语句没有判断为0的情况,也没有默认值,所以可能什么都不显示。
以上一些错误,当然这个程序还有可以优化的地方。比如你的程序中出现了4次echo "你是第$counter访问者";,其实完全没有必要出现这么多,只出现一次就行了,也就是这个样子:
--------------------
switch(strlen($counteer))
{case 1:
$counter="00000".$counter;
break;
case 2:
..............
}
echo "你是第$counter访问者";
---------------------
|
|