首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP的`mysqli_connect()‘返回什么类型的对象?

PHP的`mysqli_connect()‘返回什么类型的对象?
EN

Stack Overflow用户
提问于 2018-09-24 13:05:42
回答 1查看 1K关注 0票数 0

根据文档mysqli_connect()mysqli::__construct()的别名。根据该函数的文档,它将返回

表示到MySQL服务器的连接的对象

这是什么东西?例如,如果我只依赖于文档,我如何知道我定义为的变量$res可用哪些方法?

代码语言:javascript
运行
AI代码解释
复制
$res = mysqli_connect("host", "user", "password", "database");
EN

回答 1

Stack Overflow用户

发布于 2018-09-24 13:43:55

如果我误解了,我很抱歉,但是为了让您有必要问这个问题,您可能缺少对__construct()方法的一般理解。

每当您看到x::__construct()方法时,要返回的对象都是x。该表示法被读取为class::method(),其中::右侧的名称是属于左侧命名的类的方法。在本例中,__construct()是一个名为构造函数魔术法,每当您创建一个类的新实例时,就会自动调用它。通常不会直接调用__construct(),而是在创建新对象时调用它。

这两种说法一般都是等价的。

代码语言:javascript
运行
AI代码解释
复制
$res = mysqli_connect("host", "user", "password", "database");

// this calls mysqli::__construct()
$mysqli = new mysqli("host", "user", "password", "database");

它们都将返回一个mysqli对象。

在对文档的依赖方面,当您遵循指向该mysqli::__construct()页面的链接时,它将显示mysqli::constructmysqli_connect的函数定义。在“程序风格”下,你可以看到

代码语言:javascript
运行
AI代码解释
复制
mysqli mysqli_connect ([ string $host = ...

您看到的第一个mysqli是返回类型。您可以参考此页来更好地理解如何读取函数定义。由于您已经在mysqli::__construct页面上,页面右侧的所有链接都是mysqli的方法,但是您也可以单击函数定义中的mysqli链接直接转到类页面。PHP手册就是这样为所有内置类设置的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52487370

复制
相关文章
Golang 函数返回类型是接口时返回对象的指针还是值
Interface 是一组抽象方法(未具体实现的方法,仅包含方法名参数返回值的方法)的集合,如果实现了 interface 中的所有方法,即该类型就实现了该接口。
恋喵大鲤鱼
2019/06/14
8.1K0
Php如何返回json数据(返回json对象或json格式数据)
header(‘Content-Type:application/json; charset=utf-8’);
超级小可爱
2023/02/20
17.1K0
PHP给前端返回一个JSON对象的实例讲解
解决问题:用php做后台时,如何给前端发起的AJAX请求返回一个JSON格式的"对象";
用户8826052
2021/07/14
1.1K0
Warning: mysqli_connect()_php链接MySQL8.0_异常
直接上解决方案: 【注:使用root账号登录】 #USE 你的数据库; #更新一下用户的密码格式BY '你的密码',我的是root,你别弄错了 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root' ; #刷新权限 FLUSH PRIVILEGES; 解决了php链接MySQL8.0的数据库异常
红目香薰
2022/11/29
6260
Warning: mysqli_connect()_php链接MySQL8.0_异常
PHP- 复合数据类型-对象的访问控制
在 PHP 中,我们可以使用访问控制关键字public、protected和private来控制对象的属性和方法的访问权限。这些关键字决定了哪些成员可以被外部访问,哪些成员只能在类内部访问。具体的访问控制规则如下:
堕落飞鸟
2023/04/26
3980
PHP- 复合数据类型-对象的属性(一)
在PHP中,对象的属性指的是类中定义的变量,它们存储在对象中,并且可以通过对象来访问和修改。属性通常是用来存储对象的状态信息,例如一个人的姓名、年龄等。对象的属性可以是公共的、私有的或受保护的。
堕落飞鸟
2023/04/25
6080
PHP- 复合数据类型-对象的属性(三)
静态属性是属于类的属性,而不是属于对象的属性。它们可以在类的内部和外部被访问和修改,不需要创建对象。在类的定义中,使用static关键字来定义静态属性。例如,下面的代码定义了一个Person类,其中包含一个静态属性$count:
堕落飞鸟
2023/04/25
4880
对象的传值与返回
对象的传值与返回 说起函数,就不免要谈谈函数的参数和返回值。一般的,我们习惯把函数看作一个处理的封装(比如黑箱),而参数和返回值一般对应着处理过程的输入和输出。这种情况下,参数和返回值都是值类型的,也就是说,函数和它的调用者的信息交流方式是用过数据的拷贝来完成,即我们习惯上称呼的“值传递”。但是自从引入了“引用”的概念后,函数的传统模型就不再那么“和谐”了。引用的传递可以允许函数和调用者共享数据对象,它们之间的信息交流不再使用信息拷贝的方式,而是使用更有效率的信息共享的方式,引用导致函数的参数并有输入和输出
Florian
2018/02/05
2.5K0
对象的传值与返回
PHP- 复合数据类型-对象的属性(二)
受保护的属性可以在类的内部和子类中被访问和修改,但不能在外部直接访问和修改。在类的定义中,使用protected关键字来定义受保护的属性。例如,下面的代码定义了一个Person类,其中包含一个受保护的属性$email
堕落飞鸟
2023/04/25
4250
在Java中为什么不同的返回类型不算方法重载?
方法重载是指在同一个类中,定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载。 比如以下 4 个 method 方法就可以称之为方法重载,如下代码所示:
磊哥
2022/01/20
3.4K0
在Java中为什么不同的返回类型不算方法重载?
java hashcode作用yield返回值_对象的hashcode是什么
总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。 前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。 那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢? 这就是Object.equals方法了。但是,如果每增加一个元素就检查一次,那么当元素很多时,后添加到集合中的元素比较的次数就非常多了。 也就是说,如果集合中现在已经有1000个元素,那么第1001个元素加入集合时,它就要调用1000次equals方法。这显然会大大降低效率。 于是,Java采用了哈希表的原理。哈希(Hash)实际上是个人名,由于他提出一哈希算法的概念,所以就以他的名字命名了。 哈希算法也称为散列算法,是将数据依特定算法直接指定到一个地址上。如果详细讲解哈希算法,那需要更多的文章篇幅,我在这里就不介绍了。 初学者可以这样理解,hashCode方法实际上返回的就是对象存储的物理地址(实际可能并不是)。 这样一来,当集合要添加新的元素时,先调用这个元素的hashCode方法,就一下子能定位到它应该放置的物理位置上。 如果这个位置上没有元素,它就可以直接存储在这个位置上,不用再进行任何比较了;如果这个位置上已经有元素了, 就调用它的equals方法与新元素进行比较,相同的话就不存了,不相同就散列其它的地址。 所以这里存在一个冲突解决的问题。这样一来实际调用equals方法的次数就大大降低了,几乎只需要一两次。 所以,Java对于eqauls方法和hashCode方法是这样规定的: 1、如果两个对象相同,那么它们的hashCode值一定要相同;2、如果两个对象的hashCode相同,它们并不一定相同 上面说的对象相同指的是用eqauls方法比较。 你当然可以不按要求去做了,但你会发现,相同的对象可以出现在Set集合中。同时,增加新元素的效率会大大下降。hashcode这个方法是用来鉴定2个对象是否相等的。 那你会说,不是还有equals这个方法吗? 不错,这2个方法都是用来判断2个对象是否相等的。但是他们是有区别的。 一般来讲,equals这个方法是给用户调用的,如果你想判断2个对象是否相等,你可以重写equals方法,然后在代码中调用,就可以判断他们是否相等 了。简单来讲,equals方法主要是用来判断从表面上看或者从内容上看,2个对象是不是相等。举个例子,有个学生类,属性只有姓名和性别,那么我们可以 认为只要姓名和性别相等,那么就说这2个对象是相等的。 hashcode方法一般用户不会去调用,比如在hashmap中,由于key是不可以重复的,他在判断key是不是重复的时候就判断了hashcode 这个方法,而且也用到了equals方法。这里不可以重复是说equals和hashcode只要有一个不等就可以了!所以简单来讲,hashcode相 当于是一个对象的编码,就好像文件中的md5,他和equals不同就在于他返回的是int型的,比较起来不直观。我们一般在覆盖equals的同时也要 覆盖hashcode,让他们的逻辑一致。举个例子,还是刚刚的例子,如果姓名和性别相等就算2个对象相等的话,那么hashcode的方法也要返回姓名 的hashcode值加上性别的hashcode值,这样从逻辑上,他们就一致了。 要从物理上判断2个对象是否相等,用==就可以了。
全栈程序员站长
2022/10/05
7780
PHP方法的返回值
不仅是PHP,大部分编程语言的函数或者叫方法,都可以用return来定义方法的返回值。从函数这个叫法来看,本身它就是一个计算操作,因此,计算总会有个结果,如果你在方法体中处理了结果,比如进行了持久化保存,那么这个函数就不用返回任何内容。而计算的结果是要给外部使用的,这时候就要将计算结果进行返回了。
硬核项目经理
2020/02/17
7.7K0
PHP7新特性--返回值类型声明
今天看到有人在群里提到,PHP7新特性--返回值类型声明,索性就去看了一下,大概是这样的写的,代码贴上来看一下。
友儿
2022/09/11
7210
Oracle使用对象类型3(MEMBER方法的对象类型)
MERMER方法用于访问对象实例的数据,如果在对象类型中需要访问特定对象实例的数据,则必须要定义MEMBER方法。 MEMBER方法只能由对象实例调用,不能由对象类型调用。 下面以建立和使用对象类型person_typ2为例: 包含name,gender,birthdate和address等四个属性,以及一个MEMBER过程change_address和一个MEMBER函数get_info。 CREATE OR REPLACE TYPE person_typ2 AS OBJECT( name VARCHAR
小小明童鞋
2018/06/13
1.7K0
php json_encode()函数返回对象和数组问题
php json_encode() 函数格式化数据时会根据不同的数组类型格式化不同类型的json数据
码缘
2019/09/11
3.7K0
PHP- 复合数据类型-对象
在PHP中,对象是一种复合数据类型,它允许开发者将相关的数据和行为封装在一个单独的实体中。对象通常被用来表示现实世界中的实体,例如人、汽车、房屋等。对象是基于类(class)来创建的,类是一个模板或蓝图,它定义了一组属性和方法,用于创建对象。
堕落飞鸟
2023/04/25
4040
PHP- 复合数据类型-对象的克隆和比较
在 PHP 中,我们可以使用clone关键字来克隆一个对象。克隆一个对象会创建一个新的对象,并将原对象的属性值复制到新对象中。例如,下面的代码创建了一个Person对象,并使用clone关键字克隆它:
堕落飞鸟
2023/04/25
4260
php递归函数返回值返回不出的问题
发现无论如何,函数的打印结果是正确的,到return的时候只能打印一个null,一直改都没法解决
仙士可
2019/12/18
4.6K0
点击加载更多

相似问题

PHP:可以使用返回mysqli_connect()的函数创建一个mysqli_connect连接吗?

11

返回php中的对象类型变量

14

php mysqli_connect奇怪的响应

12

我的对象查询返回什么类型?

20

json对象的返回类型是什么?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文