使用multi_query时出错“在非对象上调用成员函数multi_query()”

时间:2014-03-31 15:51:05

标签: php sql object multi-query

我正在寻找此错误的解释/修复方法。我使用以下脚本。这是我第一次使用multi_query:

        $storyidr=$_POST['storyidr'];
$mysqli = mysqli_connect($dbhost,$dbusername,$dbpasswd,$database_name) or die ("Couldn't connect to server.");
 if (mysqli_connect_errno($mysqli))
   {
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
   }
$sql  = "INSERT INTO ratings (storyidr, rank, entry_date) VALUES ('$_POST[storyidr]','$_POST[value]',now());"; 
$sql .= "SELECT AVG(rank) AS avrank from ratings WHERE storyidr = $storyidr";
if($mysqli->multi_query($sql))
{   
if ($result = $mysqli->store_result())
{ 
$data = mysqli_fetch_assoc($result);
$avrank = $data['avrank'];
        if(!$result)
        {
              $arr = array ('status'=>'fail');
              echo json_encode($arr);
        }
        else
        {

                echo json_encode($avrank);
        }
                exit;
}
}

1 个答案:

答案 0 :(得分:2)

未定义变量$mysqli,您将其分配给$con, 改变

$con = mysqli_connect($dbhost,$dbusername,$dbpasswd,$database_name) or die ("Couldn't connect to server.");

$mysqli = mysqli_connect($dbhost,$dbusername,$dbpasswd,$database_name) or die ("Couldn't connect to server.");