php - 一起使用 fetch_column 和 fetch(PDO::FETCH_ASSOC) 吗?

标签 php mysql pdo fetch

我承认 php 对我来说是一门新语言。

现在我可以让它们单独工作了。在我的准备查询中 SELECT * FROM... 将允许我的 PDO 获取关联 while 循环工作,但随后获取列不起作用。然后我使用 SELECT COUNT(*) 我的提取列可以工作,但我的提取关联却不能。

那么有没有什么办法可以让两者都工作呢?因为我需要获取列以整数值(1 或 0)形式返回有多少行,以确定用户是否已输入登录信息。但是然后我需要在那里获取列以返回在数据库表的用户名部分中输入的字符串值。这样我就可以使用此信息来对照用户的输入进行检查,以验证用户和密码。

谢谢,这是我的代码。如果您需要更清楚地解释,我会尝试。

<?php
$config['db'] = array(
    'host'      => 'localhost',
    'username'  => 'root',
    'password'  => '',
    'dbname'    => 'inb271assignment'
);

$pdo = new PDO('mysql:host=' . $config['db']['host'] . '; dbname=' . $config['db']['dbname'], $config['db']['username'], $config['db']['password']);

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try
{
    $pdo->beginTransaction();

    $username = $_POST['Username'];
    $password = $_POST['Password'];

                        //Nicholas will be $dbUsername when fetch is working correctly.
    $databaseusername = Nicholas;

    if ($username&&$password)
    {
        $result = $pdo->prepare("SELECT COUNT(*) FROM members WHERE Username=?");
        $result->execute(array($databaseusername));

        $row = $result->fetchColumn();

        if ($row!=0) {

            while ($rows = $result->fetch(PDO::FETCH_ASSOC)) {

                $dbUsername = $rows['Username']; 


            }
            echo $dbUsername;

        }
        else
            die("That user doesn't exist");

    }

   $pdo->commit();
}
catch(PDOException $pe)
{
    echo($pe->getMessage());
}
?>

所以目前我有 SELECT COUNT(*) 在那里。因此,如果我在页面上的表单中输入用户名和密码,那么它将返回 !=0 ,从而允许 while 循环工作。如果我有 SELECT *,那么 while 循环通常可以工作。但因为我不需要,因为我需要计数,所以不需要。所以我无法从数据库中检索我需要的信息。

最佳答案

使用SELECT * FROM ...和 PDO 正常获取关联并使用 $result->rowCount();用于返回所有受影响的行,相当于 SELECT COUNT(*)

关于php - 一起使用 fetch_column 和 fetch(PDO::FETCH_ASSOC) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16881472/

相关文章:

php - 无法修复错误 "failed to open stream: HTTP wrapper does not support writeable connections"

php - 由于数据未插入数据库,无法回显网站

php - 在 Laravel 中为现有数据库中的存储过程、函数和事件创建迁移

php - 获取可用的 Drupal View 列表

php - 从 PHP/MySQL 估算数据中检索结果的平均值

mysql - 2 左加入工会

java - EBS : Access Denied when trying from Java application in Tomcat 中的 Amazon RDS 实例

mysql - 如果用户是笔记的所有者,如何选择?数据库管理系统

php - 使用 PDO 和 PHP 函数选择数据

php - PDO 不能绑定(bind)两个属性