MySQL Select Specific Column


MySQL Select Specific Column

我是PHP新手,我想知道如何从一行中选择特定的列。例如,如果我想显示Joe Bugly的名字,其中ID、名、姓和电子邮件都是列。

假设您不需要select * from ... (a)返回的所有列,您可以简单地显式列出所需的列:

select fname, lname from ...

例如,假设您知道您的用户ID是jbug01,并且您只想要相应的电子邮件地址:

select email
from   users
where  userid = 'jbug01'
对于在PHP中执行此操作,下面的代码片段可能会有所帮助:
<?php
    $conn = mysql_connect ("localhost", "paxdiablo", "supersekritsauce");
    if (!$conn) {
        die ('Could not connect: ' . mysql_error());
    }
    mysql_select_db ("my_database", $conn);
    $result = mysql_query ("select email from users where userid = 'jbug01'");
    while ($row = mysql_fetch_array ($result)) {
        echo $row['email'] . "<br />";
    }
    mysql_close ($conn);
?>

(a)有一些珍贵的选择*是有意义的(除了需要获取所有列(如DB查看器)的工具)。

您通常应该选择显式的列选择。这可以让您在过程中更早地发现模式更改的问题,而不是盲目地选择所有内容。

它也将导致更少的信息传输,这对于小型数据库或所有东西都运行在同一台机器上的系统来说可能并不重要,但它影响系统的可伸缩性,无论是在数据大小方面还是在网络上的分布。

试试这个:

$conn = mysql_connect("localhost","root");
mysql_select_db("DbName",$conn);
$query = "Select u.FirstName from Users u";
$results =  mysql_query($query);
while($row = mysql_fetch_array($results)){
    echo $row['FirstName'];
}

试试这个:

$db = new PDO('mysql:host=hostname;dbname=dbname', 'username', 'password');
$stmt = $db->query('select id from games where ...');
while ($id = $stmt->fetchColumn(0)) {
    echo $id;
}

如果有帮助,请标记答案。

参考

这实际上是一个SQL问题;)

取决于你如何选择Joe Bugly的记录。如果根据ID进行选择,则

SELECT fname
FROM your_table_name
WHERE ID = <ID of Joe Bugly>

通过这种方式,您选择了一条记录,并通过在SELECT子句中应用fname,您正在过滤您想要

的列数。