php - 获取多个列

标签 php mysql pdo

我创建了一个在您输入单词部分时自动完成的字段。它使用 mysql PDO 进行查询。我的请求是根据患者的姓氏提出的。它运行良好。

现在,我想在姓氏之后显示名字。

我的功能如下:

function searchForKeyword($keyword) {
    $db = connect();
    $stmt = $db->prepare("SELECT lastname_patient, firstname_patient FROM `patients` WHERE lastname_patient LIKE ? ORDER BY lastname_patient");

    $keyword = $keyword . '%';
    $stmt->bindParam(1, $keyword, PDO::PARAM_STR, 100);

    $isQueryOk = $stmt->execute();

    $results = array();

    if ($isQueryOk) {
      $results =$stmt->fetchAll(PDO::FETCH_COLUMN);
    } else {
      trigger_error('Error executing statement.', E_USER_ERROR);
    }

    $db = null; 

    return $results;
}

我认为问题出在这一行 $results =$stmt->fetchAll(PDO::FETCH_COLUMN); 它只获取一列。

如何将其更改为在姓氏之后显示患者的名字? (按姓氏搜索)

最佳答案

尝试
fetchall(PDO::FETCH_ASSOC) 而不是 fetchAll(PDO::FETCH_COLUMN)。

PDO::FETCH_ASSOC 将在一个关联数组中为您提供您想要的所有结果。

关于php - 获取多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30161545/

相关文章:

php - 在动态创建的表中 Bootstrap 交替行颜色

php - Laravel 更改区域设置不起作用

mysql - 设计这些表的最佳方式

php - 查询和 while 循环出错

php - SQLSTATE[HY093] : Invalid parameter number: parameter was not defined'

php - 从 WooCommerce 中的自定义字段调用值时如何使用 jQuery 删除类

php - WordPress Contact Form 7无法在Chrome上运行

mysql - `@` mysql变量名中的符号

mysql - 如何从 AngularJs 和 MySQL 中的 API 创建分层 JSON

php - PDO beginTransaction 在两个单独的脚本中