函数进入mySQL,我缺少什么?

时间:2014-06-25 18:44:41

标签: php mysql function

我有一个计算某些数学的函数,但似乎它不会放入数据库......

有什么我不知道的吗?

function overskud($odds, $indskud) {
    $overskud1 = $indskud * $odds;
    $overskud2 = $overskud1 - $indskud;
    echo "$overskud2";
}   
$overskud = overskud($odds, $indskud);
mysql_query("INSERT INTO ODDS_kupon (kamp,odds,indskud,overskud,resultat,af,dato_ar,dato_moned,dato_dag) VALUES ('$kamp', '$odds', '$indskud', '$overskud2', '0', '$profilid', '$datoar', '$datomoned', '$datodag')");

3 个答案:

答案 0 :(得分:1)

您需要return结果而不是echo

function overskud($odds, $indskud) {
    $overskud1 = $indskud * $odds;
    $overskud2 = $overskud1 - $indskud;
    return "$overskud2";
}   
$overskud = overskud($odds, $indskud);
mysql_query("INSERT INTO ODDS_kupon (kamp,odds,indskud,overskud,resultat,af,dato_ar,dato_moned,dato_dag) VALUES ('$kamp', '$odds', '$indskud', '$overskud2', '0', '$profilid', '$datoar', '$datomoned', '$datodag')");

由于您的return查询使用了该变量,因此您可能需要将此更改为$overskud2包含$overskud的{​​{1}}数组,但除非它在未发布的代码中的其他地方定义,由于在函数内部,它不在范围内。

INSERT只是将数据输出到页面/缓冲区,echo实际上将值传回给调用它的任何值,并允许通过函数输出进行变量赋值。

答案 1 :(得分:0)

您的查询使用变量$overskud2,但您没有定义它(它只存在 函数内)。我想你的意思是$overskud

函数应该return结果,而不是echo它(与shell脚本混淆?)。

答案 2 :(得分:0)

betr试试这个..你应该回复函数调用

function overskud($odds, $indskud) {
    $overskud1 = $indskud * $odds;
    $overskud2 = $overskud1 - $indskud;
    return $overskud2;
}   
$overskud = overskud($odds, $indskud);
mysql_query("INSERT INTO ODDS_kupon(kamp,odds,indskud,overskud,resultat,af,dato_ar,dato_moned,dato_dag) VALUES('$kamp','$odds', '$indskud', '$overskud', '0', '$profilid', '$datoar', '$datomoned', '$datodag')");