php - 计算 PDO 准备语句中的行数

标签 php mysql pdo

我有两个关于下面代码的问题。

  1. 我知道第二个代码是正确的但不确定第一个代码是否也是正确的两者都做同样的事情第一个很容易编写。
  2. 我想计算所选元素在数据库中的行数 if ($query->num_rows == 1) { 不起作用,所以如何rowcount 下面的代码。

第一个代码:

 $query = $db->prepare("SELECT * from users WHERE username = :username");
 $query->execute(array(':username'=>$un));

第二个:

$result = "SELECT * from users WHERE username = :username";
$query = $db->prepare( $result ); 
$stmt->bindValue(':username'=>$un);
$query->execute($stmt);

最佳答案

您不需要行数。您只需要行本身。所以,只需从第一个变体中获取它,就可以了。

根据行数,您应该能够从手册中获得正确的函数名称。

$query = $db->prepare("SELECT 1 from users WHERE username = ?");
$query->execute(array($un));
if ($query->fetch())
{
    // found
}

关于php - 计算 PDO 准备语句中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32922615/

相关文章:

php - 从页面 url 中选择带有 id 的表中的当前行

PHP 正则表达式 : need some explanation

php - Laravel Eloquent 查询权限数据

mysql - 帮忙写sql查询

php - 如何使用 AJAX GET 请求显示获取的 stdclass 对象

php - 在 bool 值上调用成员函数 fetch()

php - 计算有特价的天数

javascript - PHP 脚本 JQuery 获取错误数量的元素

mysql - SQL 选择查询最大值

mysql - insert-update pdo mysql 查询并获取最后插入的 id(如果需要)