代码贴出来看看木。看提示就是mysqli_bind_param() 函数的参数问题了。

解决方案 »

  1.   

    <?php
    require_once $_SERVER['DOCUMENT_ROOT'].'/UserManager/UserInfor.inc';
    require_once $_SERVER['DOCUMENT_ROOT'].'/PubCommon.inc';
    //是否是合法用户
    function IsValidUser($userId, $password)
    {
    $conn = get_db_connection();
    $mysql = "select UserPassword from UserInfor where UserID = ? ";
    $stmt = mysqli_prepare($conn, $mysql);
    mysqli_bind_param($stmt, "s", $userId);
    mysqli_execute($stmt);
    mysqli_stmt_bind_result($stmt, $actualPassword);  
    mysqli_stmt_fetch($stmt);
    mysqli_stmt_close($stmt);
    mysqli_close($conn);

    if (!strcmp(md5($password), $actualPassword))
    {
       return true;
    }
    else{
    return FALSE;  
    }
    }

    //本用户是否存在
    function IsExistUser($userID)
    {
    $result = false;
    $conn = get_db_connection();
    $stmt = mysqli_prepare($conn, "select UserID from UserInfor where UserID = ?");
    mysqli_bind_param($stmt, "s", $userID);
    mysqli_execute($stmt);
    if(mysqli_stmt_fetch($stmt)) 
    {
    $result = true;
    }
    mysqli_stmt_close($stmt);
    mysqli_close($conn);
    return $result;
    }

    //增添一条用户注册信息
    function AddNewUser($userID, $password)
    {
    $hash_key = md5($password);
    $conn = get_db_connection();
    $stmt = mysqli_prepare($conn, "insert into UserInfor (UserID, UserPassword) values (?, ?)");
    mysqli_bind_param($stmt, "ss", $userID, $hash_key);
    mysqli_execute($stmt);
    mysqli_stmt_close($stmt);
    mysqli_close($conn);
    return true;
    }这是sql操作代码,参数应该没有问题,在本地执行没有问题。
      

  2.   

    use mysqli just as mysql.
      

  3.   

    use mysqli just as mysql?  那一改改动可大了,有没有别的好办法?
      

  4.   

    嗯,历经千辛万苦,终于发现了原来是表名是大小写敏感的,在本地mysql是不敏感的,服务器上设置不一样。花费半天时间,做了无数的小程序测试,命苦不能怨政府啊!后来者戒之