par*_*tho 5 php mysql oop mysqli
我正在学习使用MySQL的OOP PHP.我试图运行一个应该打印返回的行数的查询.我的php代码如下:
$con= mysqli_connect('localhost','root','','dealinte_cms') or die(mysqli_error());
$email="joy1@gmail.com";
if($r=$con->prepare("SELECT * FROM user WHERE email=? ")){
$r->bind_param("s",$email);
if(!$r->execute()){
echo mysqli_errno($con);
}
else{
$rowCount=$r->num_rows;
echo $rowCount;
}
}
Run Code Online (Sandbox Code Playgroud)
在我的数据库中,电子邮件是4行,所以它应该打印4,但它显示0
我的代码有什么问题?
您必须存储结果
$r->store_result();
Run Code Online (Sandbox Code Playgroud)
在检查行数之前也是如此。请参阅手册页上的此注释
请注意,对于有时错过阅读此功能的重要手册条目的人:
如果不使用 mysqli_stmt_store_result( ),并且在执行准备好的语句后立即调用该函数,该函数通常会返回 0,因为结果集没有保存在内存中,因此它无法知道结果集中有多少行然而。
提示
由于您正在使用 mysql 学习 OOP PHP,因此请务必注意,您创建的 mysql 连接采用过程式语法。在 PHP 中你可能会侥幸逃脱,但在许多其他语言中却不会。为什么不现在将其转换为 OOP 语法呢?
$con= new mysqli('localhost', 'my_user', 'my_password', 'my_db');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2745 次 |
| 最近记录: |