判断mysqli是面向对象还是面向过程:

判断mysqli是面向对象还是面向过程:
有 -> 的是面向对象,
没有的是面向过程。

mysqli是个系统自带的类,相当于
class mysqli{}
只不过不用用户去写了,是系统自带的类。

对比
面向对象:
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
if ($conn->query($sql) === TRUE) {
    echo "Table MyGuests created successfully";
} else {
    echo "Error creating table: " . $conn->error;
}
//关闭连接
$conn->close();
?>
面向过程:
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
if (mysqli_query($conn, $sql)) {
    echo "Table MyGuests created successfully";
} else {
    echo "Error creating table: " . mysqli_error($conn);
}
//关闭连接
mysqli_close($conn);
?>

总结:
面向对象是把mysqli通过new实例化给了一个对象$conn,$conn便有了mysqli的功能,可以调用mysqli的方法和属性,
凡是用mysqli的都用实例化出来的对象去代替mysqli调用mysqli的方法($conn->)。
面向过程中虽然$conn=mysqli_connect($servername, $username, $password, $dbname);
这个没有new,不是实例化一个对象,只是赋值给$conn存起来,没有mysqli的功能,不能调用mysqli的方法和属性。

面向过程的mysqli_query()
相当于
定义一个函数
function mysqli_query(){}
调用一个函数
mysqli_query()
只不过用户不用自己写function函数了,系统自带了,只要调用函数就可以了。
这里系统用了自带的下划线命名法。
另外系统还有驼峰命名法。
下划线命名法一般用于数据库
 

你可能感兴趣的:(判断mysqli是面向对象还是面向过程:)