环境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
与字符串进行比较,但我不知道它应该是什么工作。
答案 0 :(得分:1)
您正在执行没有ORDER BY子句的SELECT,因此您不能指望返回行的确定性顺序。
在实践中,很难针对不同版本的MySQL制作一个有效的应用程序; 4.1很老,考虑尽快升级。
支持不同版本的PHP更加困难(它们经常进行不兼容的更改)。
我假设您认为这两种环境具有相同的数据。构建一个测试用例,使用已知数据演示您期望的输出以及您获得的输出。发帖然后人们可能会告诉你你想要做什么。