从多个列的MySQL PHP获得结果

时间:2015-10-21 16:08:37

标签: php mysql

我试图通过PHP从两个MySQL列中获取结果,但我只能检索一个。

以下是我的代码。

    $dbh = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $stmt = $dbh->prepare("SELECT user_id, Email, User_Password, twitter FROM user_detail WHERE Email = :Email );


    $stmt->bindParam(':Email', $Email, PDO::PARAM_STR);

    $stmt->execute();

    $user_id = $stmt->fetchColumn();
    $twitter = $stmt->fetchColumn();

3 个答案:

答案 0 :(得分:0)

PDOStatement::fetch我猜?

mpirun

答案 1 :(得分:0)

<?php
$stmt->execute();
$datas = $stmt->fetchAll();

foreach($datas as $d) {
    echo $d['user_id']. '<br>';
    echo $d['Email']. '<br>';

    print_r($d); 
}

它会帮助你理解我的想法,print_r会显示当前项目的数组,每个元素都可以通过$ d [key]访问;

答案 2 :(得分:0)

  1. 您忘记关闭prepare()行的双引号。
  2. 使用fetchAll()而不是fetchColumn()
  3. fetchColumn() - 从结果集的下一行返回单个列,如果没有其他行,则返回FALSE。

    fetchAll() - 返回包含所有结果集行的数组。

    由于您已经在SELECT语句中指定了要选择的列,因此执行fetchAll()非常适合您要实现的目标。