随笔分类 - PHP与Mysql
摘要:select o1.emp_name as 员工姓名1 , o2.emp_name as 员工姓名2 from tableTestjoin employee o1on tabletest.[Emp_ID1] = o1.[emp_id] join employee o2on tabletest.[Emp_ID2] = o2.[emp_id]
阅读全文
摘要:用Navicat视图同步到本地后,结果发现老是出问题。最后查到的结果原来和视图的权限设置有关。把权限设置成invoker就解决了sql secuirty的值决定了调用存储过程的方式,取值 :definer或者invokerdefiner:在执行存储过程前验证definer对应的用户如:root@192.168.2.%是否存在,以及是否具有执行存储过程的权限,若没有则报错invoker:在执行存储过程时判断inovker即调用该存储过程的用户是否有相应权限,若没有则报错。
阅读全文
摘要:为了让所写函数能够动态调用,我设计了这样一个函数: protected function _custom_list(&$model,$method,$param='') { //设置过滤 if (!empty($this->filters)){ $model->_setFilter($this->filters); if(!is_array($this->filters)) $p->parameter .= urlencode($this->filters) . "&";//分页跳转的时候保证查询...
阅读全文
摘要:数据库理论的学习中,我们知道一个数据表只能有一个主键,然而这个概念可能应该更新了。昨天在看joomla数据表时,发现一个表中出现了两个主键,并发现它的好处是。如果数据库表设计是多对多的关系,即有一张表中存储内容中最主要是另外两个表的主键。这样如果将这两个设为该表的主键(联合主键)。插入数据时,若两个主键相同时保存,否则正常执行。但联合主键一旦建立后对
阅读全文
摘要:最近使用PHP开发工资管理系统的过程中因为要进行工资计算,需要进行四则运算。查资料后,确定使用PHP的PEAR库的Math_Rpn类进行。然而在使用的过程中发现了该类库的Bug。1、问题描述测试代码:include('RPN.php');$expArr=array( "(255.3*2)+33.2", "(655*2)+32.2", "(153*2)+31.2");$rpn = new Math_Rpn();foreach($expArr as $val){ echo "$val=".$rpn-&g
阅读全文
摘要:PHP的Pear库中已经定义好了RPN类用于计算逆波兰式,并同时可以让我们来计算中缀表达式的值。其使用方法也比较简单,且支持功能完善。在工资项目的计算中,根据需要对RPN类库进行了修改,让调用更加简洁。<?php/** * Math::Rpn * * 作用: * 计算中缀表达式的值 * 将表达式转换为逆波兰式,计算逆波兰式的值 * Change Expression To RPN (Reverse Polish Notation), Evaluate RPN Expression * * 示例: * 1、计算中缀表达式的值 $infix_express...
阅读全文
摘要:在PHP中实现公式表达式四则运算大概有两种方法:1)使用系统函数eval<?php//使用系统函数eval$str = 'L*((k-J)-(C+k))/M';$param = array('L' => 0.5, 'k' => 2, 'J' => 1, 'C' => 6, 'M' => 4);$str2 = '';for($i = 0; $i < strlen($str); $i++) { $tmp = substr($str, $i, 1)
阅读全文
摘要:目标是实现如下的计算公式:假设有一个计算公式如下: $expression = "(F1*F12+10.34)";其中的变量值如下:$expression_value = Array('F1'=>10, 'F12'=>20);我们希望用PHP构建一个类来计算出这个表达式的值。这种应用主要用于web工资管理中,用户可以自定义其工资相公式的情况 $rpn = new Math_Rpn(); $rpn->setExpressionValue($expression_value); echo $rpn->calculate($
阅读全文
摘要:方法有两种:1.alter table tbname auto_increment = x ;设置表tbname的唯一auto_increment字段起始值从x开始,如果此表数据量很多的话,这样执行起来会很慢。2.truncate table_name ;直接清空所有数据,下次插入数据时auto_increment字段会自动从0开始。而delete from tbname不同的是delete只删除数据而不重置auto_incremnet.
阅读全文
摘要:PHP SOAP 扩展在使用时出现的状况:1、装载错误 错误描述:SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://*****.14:8080/rpc/soap/jirasoapservice-v2?wsdl' : failed to load external entity "http://*****.14:8080/rpc/soap/jirasoapservice-v2?wsdl" 原因:SELinux 阻止 httpd 守护程序与同一台机器上的 LDAP 服务器沟通。 解决办法:$sets
阅读全文

浙公网安备 33010602011771号