$mysqli_stmt=$mysqli->prepare($sql);上面的prepare是属于mysqli_stmt类的?为什么直接用$mysqli->prepare?两个根本没关系
按道理应该这样
$mysqli_stml=new mysqli_stmt();
$stmt=$mysql_stmt->prepare();
按道理应该这样
$mysqli_stml=new mysqli_stmt();
$stmt=$mysql_stmt->prepare();
手册上的定义你能找到吧?
它的含义是 prepare属于mysqli类,参数为字符串类型,返回值是mysqli_stmt类的实例。
1, $mysqli_stml=new mysqli_stmt(); // 这个mysqli_stmt类不应该被实例化
2, $stmt=$mysql_stmt->prepare(); // prepare()方法属于mysqli类,不属于mysqli_stmt类
mysql prepare()
mysql类的方法列表
mysqli_stmt类的方法列表$mysqli_stmt=$mysqli->prepare($sql); 这个语句是正确的
它调用 mysqli类的prepare方法。该方法返回一个mysqli_stmt类的对象,该对象拥有例如fetch()这类的方法,可以取出查询得到结果集
直接用这句话$stmt=$mysqli->prepare($sql);就相当于创建了一个对象$stmt?
是!
但是创建对象应该用new 的啊
在prepare()方法内也可以创建对象呀,不一定非要由你来
return new T;
}$p = foo();print_r($p);T Object
(
)