我是PHP的新手,我想知道如何从一行中选择一个特定的列。例如,如果我想显示Joe Bugly的名字,其中ID,名字,姓氏和电子邮件都是列。
答案 0 :(得分:2)
假设您不希望所有使用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查看器等列。
您通常应该明确选择列。这可能允许您在过程中更早地检测模式更改的问题,而不是盲目地选择所有内容的情况。
它还会导致传输的信息减少,这对于小型数据库或系统而言可能并不重要,因为小型数据库或系统的所有内容都在同一个盒子上运行,但 会影响系统的可扩展性,无论是数据还是网络的大小和分布。
答案 1 :(得分:0)
试试这个:
$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'];
}
答案 2 :(得分:0)
试试这个:
$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;
}
如果这有帮助,请标记答案。
答案 3 :(得分:0)
这实际上是一个SQL问题;)
取决于你如何选择Joe Bugly的唱片。如果您是根据ID选择,那么
SELECT fname
FROM your_table_name
WHERE ID = <ID of Joe Bugly>
这样您选择了一条记录,并在SELECT子句中应用fname,您将过滤所需的列数