关于php 面向对象的方法 连接mysql
global$amfphp,$db;$userId=$uid?$uid:$amfphp['userid'];$this->id=$userId;if($this->id)...
global $amfphp, $db;
$userId = $uid ? $uid : $amfphp['userid'];
$this->id = $userId;
if ($this->id) {
//return $this->id;
$sql = "SELECT * FROM userinfo WHERE 'id' = {$this->id}";
$result = $db->Select($sql);
}
哪位高人帮忙分析下这段代码 展开
$userId = $uid ? $uid : $amfphp['userid'];
$this->id = $userId;
if ($this->id) {
//return $this->id;
$sql = "SELECT * FROM userinfo WHERE 'id' = {$this->id}";
$result = $db->Select($sql);
}
哪位高人帮忙分析下这段代码 展开
展开全部
从代码可以看出,这是一个用户信息类 中的 获取用户资料的方法.
global $amfphp, $db; 这段代码就是调用以已定义的全局变量. $amfphp 里面应该记录了当前用户的 "userid" , $db 是全局的 数据库对象.
$userId = $uid ? $uid : $amfphp['userid']; 这个三元运算 是希望把前面出现过的$uid赋值给$userId , 赋值前先判断$uid 是否为空数据, 如果是空的话, 则把全局变量$amfphp中的 'userid' , 赋值给 $userId. 从而保证$userId得到的是有效的数据
$this->id = $userId; 这里 是把得到的确切的Userid数据 赋值给 本类中的 id 属性.
if ($this->id) {
//return $this->id;
$sql = "SELECT * FROM userinfo WHERE 'id' = {$this->id}";
$result = $db->Select($sql);
}
上面这段代码就简单很多了. 先是用if 判断 类中的id值 是否已经成功赋值, 如果赋值成功,
则拼装$sql = "SELECT * FROM userinfo WHERE 'id' = {$this->id}"; 这个Sql语句, 下面
$result = $db->Select($sql); 通过全局数据库对象的 Select查询方法, 得到查询的结果.
额....应该够详细了吧...
global $amfphp, $db; 这段代码就是调用以已定义的全局变量. $amfphp 里面应该记录了当前用户的 "userid" , $db 是全局的 数据库对象.
$userId = $uid ? $uid : $amfphp['userid']; 这个三元运算 是希望把前面出现过的$uid赋值给$userId , 赋值前先判断$uid 是否为空数据, 如果是空的话, 则把全局变量$amfphp中的 'userid' , 赋值给 $userId. 从而保证$userId得到的是有效的数据
$this->id = $userId; 这里 是把得到的确切的Userid数据 赋值给 本类中的 id 属性.
if ($this->id) {
//return $this->id;
$sql = "SELECT * FROM userinfo WHERE 'id' = {$this->id}";
$result = $db->Select($sql);
}
上面这段代码就简单很多了. 先是用if 判断 类中的id值 是否已经成功赋值, 如果赋值成功,
则拼装$sql = "SELECT * FROM userinfo WHERE 'id' = {$this->id}"; 这个Sql语句, 下面
$result = $db->Select($sql); 通过全局数据库对象的 Select查询方法, 得到查询的结果.
额....应该够详细了吧...
展开全部
这不是面向对象吧!至少不是完整的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1行 global 全局变量 应该在其他地方有定义过,这里直接取出
2行 3目判断$uid是否有值,有直接用,没有就从$amfphp['userid']获取
$this是个对象,数据库表对应的对象,->id也是用来判断是否不为null 后面你应该懂得
就是用id做主键去查询了
2行 3目判断$uid是否有值,有直接用,没有就从$amfphp['userid']获取
$this是个对象,数据库表对应的对象,->id也是用来判断是否不为null 后面你应该懂得
就是用id做主键去查询了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
abstract class DB{//定义抽象类
protected $DBhost;//定义属性
protected $DBuser;
protected $DBpwd;
protected $DBname;
abstract function connect();//定义抽象方法
abstract function query($sql);
abstract function num($query);
}
class my extends DB{
private $_conn;
function __construct($DBhost,$DBuser,$DBpwd,$DBname,$ut){//构造函数初始化赋值
$this->DBhost=$DBhost;
$this->DBuser=$DBuser;
$this->DBpwd=$DBpwd;
$this->DBname=$DBname;
$this->ut=$ut;
}
function connect(){
//执行连接
$this->_conn=mysql_connect($this->DBhost,$this->DBuser,$this->DBpwd);
mysql_select_db($this->DBname,$this->_conn);
mysql_query("SET NAMES '$this->ut'");
}
public function query($sql){
return mysql_query($sql);
}
//function fetch($query){
//return mysql_fetch_array($query);
//}
public function num($query){
return mysql_num_rows($query);
}
}
$db=new my('localhost','root','','wt','GBK');//服务器ip,用户名,密码(空),数据库名,输出格式
$db->connect();//调用实现连接
//$sql="select * from `add` where 1";//操作数据库
//$query=mysql_query($sql);
//echo $num=mysql_num_rows($query);
//echo $num=$db->num($db->query($sql));//输出数据库中表的记录数
?>
abstract class DB{//定义抽象类
protected $DBhost;//定义属性
protected $DBuser;
protected $DBpwd;
protected $DBname;
abstract function connect();//定义抽象方法
abstract function query($sql);
abstract function num($query);
}
class my extends DB{
private $_conn;
function __construct($DBhost,$DBuser,$DBpwd,$DBname,$ut){//构造函数初始化赋值
$this->DBhost=$DBhost;
$this->DBuser=$DBuser;
$this->DBpwd=$DBpwd;
$this->DBname=$DBname;
$this->ut=$ut;
}
function connect(){
//执行连接
$this->_conn=mysql_connect($this->DBhost,$this->DBuser,$this->DBpwd);
mysql_select_db($this->DBname,$this->_conn);
mysql_query("SET NAMES '$this->ut'");
}
public function query($sql){
return mysql_query($sql);
}
//function fetch($query){
//return mysql_fetch_array($query);
//}
public function num($query){
return mysql_num_rows($query);
}
}
$db=new my('localhost','root','','wt','GBK');//服务器ip,用户名,密码(空),数据库名,输出格式
$db->connect();//调用实现连接
//$sql="select * from `add` where 1";//操作数据库
//$query=mysql_query($sql);
//echo $num=mysql_num_rows($query);
//echo $num=$db->num($db->query($sql));//输出数据库中表的记录数
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询