PHP初学者常见问题集合 修正版(21问答)(2)


$row=mysql_fetch_object($rs);
$id=$row->id;//id是字段名称,或者字段的别名,以下同
$title=$row->title;
$asker=$row->asker;


对于返回多条结果,可以如下:

复制代码 代码如下:


while($row=mysql_fetch_object($rs)){
$id=$row->id;
$title=$row->title;
$asker=$row->asker;
}


当然还有方法可以使得返回的结果为数组,访问也可以根据字段的位置index值访问,这个可以查询相关手册,就不介绍了。
15,如果你的工程中使用HTML在线编辑器,那么FCKEditor可能是比较不错的一个选择,FCKEditor可以自己去网上下载,下载的地方很多,我介绍一下调用方式:
首先将FCKEditor的目录放到网站根目录下,假设你在网站根目录的/modules/cms/目录下的edit.php中要引用FCKEditor,具体代码如下:

复制代码 代码如下:


<?php
$sBasePath = "../../fckeditor/";//fckeditor是FCKEditor的目录
$oFCKeditor = new FCKeditor('content') ;
$oFCKeditor->BasePath= $sBasePath ;
$oFCKeditor->Value="" ;
$oFCKeditor->Width="666px";
$oFCKeditor->Height="300px"
?>
<div>
<?php $oFCKeditor->Create();?>
</div>


16,如何在session中存储数据?
首先要启动session机制,除了apache本身做一定的设置之外,在使用session的php页面中,要先调用session_start()方法,表示在本页面使用session。在session中存储数据的具体方式如下:

复制代码 代码如下:


<?php
session_start();
$username="admin";
session_register("username");
?>
[code]
那么在其它的页面,想取得session中的用户名,如下:
[code]
<?php
$username=$_SESSION["username"];
?>


同理,要判断当前访问的用户是否已经登录也可以通过上面的方式进行:当用户登录之后,在session之中注册用户名,在需要session控制的php页面中加入判断,例如:

复制代码 代码如下:


if(!session_is_registered("username")){
header("Location:login.php");
}


上面是通过判断session中是否注册了username变量来实现的。
17,PHP中如何定义类及其成员属性与操作,又如何调用?
直接举一个例子,应该可以说明上面的问题:
定义一个字符串处理工具类:StringUtils

复制代码 代码如下:


<?php
class StringUtils{
function StringUtils(){
}
function getLength($str){
return strlen($str);
}
}
?>


在php页面中调用方式为:

复制代码 代码如下:


<?php
include 'classes/com/xxx/StringUtils.php';
$length=StringUtils::getLength("abcde");
//或者
$instance=new StringUtils;
$length=$instance->getLength("abcde");
?>


对于一个类的方法,一般有两种调用方式,一种是当作静态方法进行调用,通过::连接符,一种是当作实例方法进行调用,通过->连接符。虽然调用可以使用两种方式调用,但是实际中一个类的方法是否为静态方法,往往是已经逻辑上定义好的,因此每一个方法,往往只使用某种方式调用,例如一个服务类中的方法,基本上应该都是实例方法,而一个工具类中的方法,基本上都是类方法或者说静态方法,例如:

复制代码 代码如下:


<?php
class UserService{
var $dbhost = "";
var $dbuser = "";
var $dbpw = "";
var $dbname = "";
function UserService(){
}
function login($username,$password){
$link = mysql_connect($this->dbhost, $this->dbuser, $this->dbpw) or die("Could not connect: ".mysql_error());
mysql_select_db($this->dbname);
$rs=mysql_query("select count(*) as value from cieqas_users where userid='".$username."' and password='".$password."'");
$row=mysql_fetch_object($rs);
$value=$row->value;
mysql_close($link);
settype($value,"integer");
if($value<=0){
return false;
}
return true;
}
?>


另外,在实例方法中调用$this,才有实际的意义。
18,如何设置一个变量的类型?
PHP可以算作是弱类型语言的一种,不需要对变量进行强制类型定义,例如:
$username="admin";
$length=0;
$obj=new MyClass;
许多时候,需要将一个字符串变量转换为int变量,或者反过来等等,该如何操作呢?其实可以使用settype方法,该方法可以指定变量的类型,签名如下:
settype(var,type)
其中类型的值有boolean(bool)、integer(int)、float、string、array、object、null
例如:
$state="0";
settype($state,"int");
if($state==0){
...
}
19,如何将一个数组进行反向排列?
通过array_reverse方法实现,例如:

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18c3f9ced3c431f7b12fe71a01b8e5da.html