函数在diff环境中表现不同

时间:2010-02-12 03:46:12

标签: php mysql

环境1:使用PHP(5.2.4)MySQL(5.1.30)
环境2:不工作PHP(5.2.6)MySQL(4.1.25-log)

这个功能是什么让它在环境1中工作,而不是在环境2中工作?没有错误,只是没有返回任何东西。

function GetPrice($type, $level){
    $result = mysql_query("SELECT * FROM `types` WHERE id = '$type'") or trigger_error(mysql_error()); 
    while($row = mysql_fetch_array($result)){ 
        foreach($row AS $key => $value) { $row[$key] = stripslashes($value); } 
            $reg = $row['regprice'];
            $nat = $row['natprice'];
    }

    if($level == "reg"){return $reg;}
    if($level == "nat"){return $nat;}

}

我认为它与那里的结尾有关,我将$level与字符串进行比较,但我不知道它应该是什么工作。

1 个答案:

答案 0 :(得分:1)

您正在执行没有ORDER BY子句的SELECT,因此您不能指望返回行的确定性顺序。

在实践中,很难针对不同版本的MySQL制作一个有效的应用程序; 4.1很老,考虑尽快升级。

支持不同版本的PHP更加困难(它们经常进行不兼容的更改)。

我假设您认为这两种环境具有相同的数据。构建一个测试用例,使用已知数据演示您期望的输出以及您获得的输出。发帖然后人们可能会告诉你你想要做什么。