致命错误:在$ run = $ con - > query($ query)中的非对象上调用成员函数query(); [重复]

This question already has an answer here:

<?php

$name= $_POST['name'];
$roll= $_POST['roll'];

$con= mysql_connect("localhost", "root","");
mysql_select_db("students");

$query = "update classmate SET name= '$name' where roll= $roll";
echo $query;

$run = $con -> query($query);
if($run){
    echo "data Has been Updated";

}
 else {
     echo "Data Has not Updated";
 }

?>

Error is:

Fatal error: Call to a member function query() on a non-object in $run = $con -> query($query);

</div>

To catch connection errors you may use try-catch block:

try {
    $con= mysql_connect("localhost", "root","");
} catch (Exception $e) {
    echo 'Error: ' . $e->getMessage();
}

You can use this code:

$name= $_POST['name'];
$roll= $_POST['roll'];
$con= mysqli_connect("localhost", "root","","students");
$query = "update classmate SET name= '$name' where roll= $roll";
echo $query;
$run = mysqli_query($con, $query);
if($run){
  echo "data Has been Updated";
} else {
  echo "Data Has not Updated";
}