PHP面向对象 ->的用法

发布网友 发布时间:2022-04-24 18:44

我来回答

2个回答

热心网友 时间:2022-04-06 16:20

$stmt 是个变量,具体是什么类型的变量,要看你的 $db->prepare 返回的是什么类型的数据。也就是可以是对象变量也可以是其他类型的变量。


在PHP里,变量的数据类型是可变的,举例来说,前面你赋值数字56,后面就可以赋值 text。


从代码的字面理解,通常,以对象方式调用 prepare 函数返回的是一个 Mixed 类型的数据。


上面的代码中:


$stmt=$db->prepare($query);
$stmt=bind_param("sssd",$isbn,$author,$title,$price);


这两句貌似与PHP手册里有些区别,但因为也可能是自己写的过程定义,你可参照看:

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);//注意此句调用
$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;
/* execute prepared statement */
$stmt->execute();
printf("%d Row inserted.\n", $stmt->affected_rows);
/* close statement and connection */
$stmt->close();

追问public function _get($name)

{
return $this->$name;

}
return $this->$name;是什么意思?例如$db->_get("asda")
做PHP面向对象还是面向过程好?

追答通常函数以__(两个短下横线)开头的,在PHP语言里称之为魔术函数, 此类函数会在特定的条件下触发执行,比如: __set()、 __get(),在写入或取出类中某个不存在属性的时候会被触发。

面向对象与面向过程各有其优点,个人习惯用对象写法。

热心网友 时间:2022-04-06 17:38

你这是PDO吧~~$stmt是PDOStatement对象

affected_rows是对象属性

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com