来自不同PHP版本的调用存储过程的不同返回值

时间:2011-12-09 23:13:21

标签: php mysql stored-procedures

<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');

$username = $_POST["loginUsername"];
$password = $_POST["loginPassword"];

$link = mysql_connect('mysite', 'mylocal', 'mypass');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("mydb", $link);


$count = mysql_query(sprintf("call login('%s','%s');", $username, $password), $link);

mysql_close($link);

if(mysql_errno() == 0)
{
    if($count == 0)
    {
        //TODO set error in session
        header("Location: index.php");
    }
    else
    {
        session_start();
        $_SESSION["username"] = $username;
        header("Location: site.php");
    }
}
else
{
    //TODO set error in session
    header("Location: error.php");
}
?>

当我在我的OSxLion内置Apache和PHP(5.3.6)上运行时,此代码可以在本地运行。但是当我在Dreamhost(PHP 5.2.17)上运行它时它会失败。

知道为什么吗?在dreamhost mysql_errno()== 0和$ count == 0上使用相同的本地登录值。

0 个答案:

没有答案