1 存储过程。
2 直接用计算式。 SELECT a,b, a*b as ab FROM table

解决方案 »

  1.   

    mrshelly(Shelly) :
    可是计算公是写在数据库记录里的,怎么弄到存储过程去了?
      

  2.   

    可以啊,直接保存公式在数据库中
    参数可以用$a[0]这样的数组代替
    使用的时候从数据库中取出公式,把参数代进去,得到一个字符串
    从数据库中select 你的公式
    这样就可以了
    注意不同的数据库具体格式略有不同
      

  3.   

    2楼的方法可以试试,MYSQL里面好像没有函数的概念,那么就只能用存储过程了
      

  4.   

    这些计算公式有很多,不是唯一的.如
    a 表           b表
    a.id =10       b.content= num1+num2*num3
    a.num1=1       b.aid=10
    a.num2=2
    a.num3=3 条件:a.id=b.aid
    最后就是读取a表的记录出来,然后按了b表的公式(content)计算.
      

  5.   

    楼主的需求应该与存储过程是无关的,“当传值过来的时候则读取数据的公式用来做计算”
    只是将表达式存入数据库,已备以后php程序使用表达式 ($a+3)*5
    入库时写做 "(\$a+3)*5"
    读出后保存到 $expr
    执行时
    $a = 123;
    $b = eval("return $expr;");
      

  6.   

    其实可以这样的,
    select a,b,(a+b) as c from tb 
      

  7.   

    "本人想在数据库中写入一个计算公式,当传值过来的时候则读取数据的公式用来做计算等式,
    跪求解决方案~~~~~~"楼主,你传来了数据怎么处理阿?问题是知道了,但是没人知道你想怎么做啊
    传值?你怎么传阿?select?
      

  8.   

    可以由表单传值,也可以读取数据库提示值,
    我的方法是很简单,得到值后在PHP中用str_replace替换等式,
    如:
    $text="num1+num2*num3";
    $text=str_replace("num1",1,$text);
    $text=str_replace("num2",2,$text);
    $text=str_replace("num3",3,$text);最后写SQL语句
    $sql="select $text as number"
    得到最后结,总结:就是最生成一个SQL语名,让它在MYSQL下计算