$empire->query("一条sql语句") 是什么意思

kangnixi 2010-11-15 01:05:52
RT
声明了一个变量
global $empire

然后 为什么要
$empire->query("一条sql语句")

这样去执行sql语句?

我不明白的有两点:
1. $empire 为什么要声明这个变量?

2. -> 什么意思?

3. 为什么要这样去执行sql语句?有什么好处?

...全文
1067 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
k1060220963 2010-11-16
  • 打赏
  • 举报
回复
$empire=new mysqlquery();

global $empire;

已经global了
kangnixi 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ihefe 的回复:]

PHP code

$empire=new mysqlquery();

global $empire;

$empire->query("一条sql语句");

//或者继承了mysqlquery的类
[/Quote]


在代码里面,根本没看到 $empire=new mysqlquery();

@@
zhang6464 2010-11-15
  • 打赏
  • 举报
回复
不一定的,有的喜欢自己写
[Quote=引用 5 楼 kangnixi 的回复:]
会是这个吗?
[/Quote]
zhang6464 2010-11-15
  • 打赏
  • 举报
回复
在页首include的文件里,一般有声明类的文件,一个文件套一个文件的可能不好找
直接在所有文件里查找$empire应该就能找到
ihefe 2010-11-15
  • 打赏
  • 举报
回复

$empire=new mysqlquery();

global $empire;

$empire->query("一条sql语句");

//或者继承了mysqlquery的类
在-云端 2010-11-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kangnixi 的回复:]

<?php
class mysqlquery
{
var $sql;//sql语句执行结果
var $query;//sql语句
var $num;//返回记录数
var $r;//返回数组
var $id;//返回数据库id号
//执行mysql_query()语句
function query($query)
{
$this->sql=mysql_query($quer……
[/Quote]
这是个封装的数据库类~~

kangnixi 2010-11-15
  • 打赏
  • 举报
回复
会是这个吗?
kangnixi 2010-11-15
  • 打赏
  • 举报
回复
<?php
class mysqlquery
{
var $sql;//sql语句执行结果
var $query;//sql语句
var $num;//返回记录数
var $r;//返回数组
var $id;//返回数据库id号
//执行mysql_query()语句
function query($query)
{
$this->sql=mysql_query($query) or die(mysql_error().'<br>'.str_replace($GLOBALS['dbtbpre'],'***_',$query));
return $this->sql;
}
//执行mysql_query()语句2
function query1($query)
{
$this->sql=mysql_query($query);
return $this->sql;
}
//执行mysql_fetch_array()
function fetch($sql)//此方法的参数是$sql就是sql语句执行结果
{
$this->r=mysql_fetch_array($sql);
return $this->r;
}
//执行fetchone(mysql_fetch_array())
//此方法与fetch()的区别是:1、此方法的参数是$query就是sql语句
//2、此方法用于while(),for()数据库指针不会自动下移,而fetch()可以自动下移。
function fetch1($query)
{
$this->sql=$this->query($query);
$this->r=mysql_fetch_array($this->sql);
return $this->r;
}
//执行mysql_num_rows()
function num($query)//此类的参数是$query就是sql语句
{
$this->sql=$this->query($query);
$this->num=mysql_num_rows($this->sql);
return $this->num;
}
//执行numone(mysql_num_rows())
//此方法与num()的区别是:1、此方法的参数是$sql就是sql语句的执行结果。
function num1($sql)
{
$this->num=mysql_num_rows($sql);
return $this->num;
}
//执行numone(mysql_num_rows())
//统计记录数
function gettotal($query)
{
$this->r=$this->fetch1($query);
return $this->r['total'];
}
//执行free(mysql_result_free())
//此方法的参数是$sql就是sql语句的执行结果。只有在用到mysql_fetch_array的情况下用
function free($sql)
{
mysql_free_result($sql);
}
//执行seek(mysql_data_seek())
//此方法的参数是$sql就是sql语句的执行结果,$pit为执行指针的偏移数
function seek($sql,$pit)
{
mysql_data_seek($sql,$pit);
}
//执行id(mysql_insert_id())
function lastid()//取得最后一次执行mysql数据库id号
{
$this->id=mysql_insert_id();
return $this->id;
}
}
?>
kangnixi 2010-11-15
  • 打赏
  • 举报
回复
我 怎么才能 跟踪到源码 的 $empire 的这个数据库类?

我怎么找都找不到
zhang6464 2010-11-15
  • 打赏
  • 举报
回复
global $empire
$empire是个全局变量,global就是用来声明全局变量的,之前肯定在include的文件里有声明的,而且这个$empire是个数据库类,->是类调用其成员变量和函数的运算符,query()就是数据库类的一个函数,作用是用来执行sql语句,好处就是这样执行配置和维护方便呗,数据库用户密码变了的时候改下配置文件就ok了啊
沪php攻城师 2010-11-15
  • 打赏
  • 举报
回复
1、这是个全局变量,调用前必须先声明
2、这个符号表示调用类中的某个方法或变量
3、这个是封装好的一个数据库调用类,方便你的一些数据库相关操作
支付宝当面付接入教程 这里假设己经开通了当面付,没有开通的可以到支付宝开通 1、增加当面付数据 帝国没有给出手动添加的功能,这里只能以SQL方式来添加了,运行以下SQL语句 INSERT INTO `[!db.pre!]enewspayapi` (`payid`, `paytype`, `myorder`, `payfee`, `payuser`, `partner`, `paykey`, `paylogo`, `paysay`, `payname`, `isclose`, `payemail`, `paymethod`) VALUES ('', 'f2fpay', '99', '0', '', '', '', '', '支付宝当面付插件', '支付宝当面付', '0', '', '0'); 2、添加商户私钥和支付宝公钥字段 ALTER TABLE [!db.pre!]enewspayapi add fprivatekey text NOT NULL, add fpublickey text NOT NULL; 3、修改系统文件以支持私钥和公钥的配置 第一个文件:e/admin/pay/SetPayApi.php 增加一个支付方式的判断,这里的支付方式为f2fpay APPID <input name="payemail" type="text" id="payemail" value="<?=$r[payemail]?>" size="35"></td> 商户私钥 <textarea name="fprivatekey" id="fprivatekey" cols="100" rows="10"><?=$r[fprivatekey]?></textarea> 支付宝公钥 <textarea name="fpublickey" id="fpublickey" cols="100" rows="10"><?=$r[fpublickey]?></textarea> 第二个文件:e/admin/pay/PayApi.php 增加私钥和公钥字段的写入 //设置接口 function EditPayApi($add, $userid, $username) { global $empire, $dbtbpre; $add[payid] = (int) $add[payid]; if (empty($add[payname]) || !$add[payid]) { printerror("EmptyPayApi", "history.go(-1)"); } $add[isclose] = (int) $add[isclose]; $add[myorder] = (int) $add[myorder]; $add[paymethod] = (int) $add[paymethod]; $add['payname'] = hRepPostStr($add['payname'], 1); $add['paysay'] = hRepPostStr2($add['paysay']); $add['payuser'] = hRepPostStr2($add['payuser']); $add['paykey'] = hRepPostStr2($add['paykey']); $add['payfee'] = hRepPostStr($add['payfee'], 1); $add['payemail'] = hRepPostStr($add['payemail'], 1); //增加当面付字段 $add['fprivatekey'] = hRepPostStr($add['fprivatekey'], 1); $add['fpublickey'] = hRepPostStr($add['fpublickey'], 1); if ($add['paytype'] == 'f2fpay') { $sql = $empire->query("update {$dbtbpre}enewspayapi set isclose='$add[isclose]',payname='$add[payname]',paysay='$add[paysay]',payuser='$add[payuser]',paykey='$add[paykey]',payfee='$add[payfee]',payemail='$add[payemail]',myorder='$add[myorder]',paymethod='$add[paymethod]',fprivatekey='$add[fprivatekey]',fpublickey='$add[fpublickey]' where payid='$add[payid]'"); } else { $sql = $empire->query("update {$dbtbpre}enewspayapi set isclose='$add[isclose]',payname='$add[payname]',paysay='$add[paysay]',payuser='$add[payuser]',paykey='$add[paykey]',payfee='$add[payfee]',payemail='$add[payemail]',myorder='$add[myorder]',paymethod='$add[paymethod]' where payid='$add[payid]'"); } if ($sql) { //操作日志 insert_dolog("payid=" . $add[payid] . "payname=" . $add[payname]); printerror("EditPayApiSuccess", "PayApi.php" . hReturnEcmsHashStrHref2(1)); } else { printerror("DbError", "history.go(-1)"); } } 4、取消支付时的转码功能 共三个文件分别为 e/payapi/BuyGroupPay.php此文件用于购买会员组 e/payapi/pay.php此文件用于充值 e/payapi/ShopPay.php此文件用于商城订单支付 因为本次用的是UTF-8编码,这里不需要再转码的 所以要删除转码内容,如下: if($ecms_config['sets']['pagechar']!='gb2312') { @include_once("../class/doiconv.php"); $iconv=new Chinese(''); $char=$ecms_config['sets']['pagechar']=='big5'?'BIG5':'UTF8'; $targetchar='GB2312'; $productname=$iconv->Convert($char,$targetchar,$productname); $productsay=$iconv->Convert($char,$targetchar,$productsay); @header('Content-Type: text/html; charset=gb2312'); } 5、上传当面付插件 将下载好的插件解压,将f2fpay上传到e/payapi/即可 在线演示:http://ecms.bnxf.net/

20,397

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧