require 'db/connect.php';
if ($result = $db->query("SELECT last_name +' '+ first_name as full_name, bio FROM people")) {
if ($count = $result->num_rows) {
echo '<p>', $count , '</p>';
// while ($rows = $result->fetch_object()) {
// print_r($rows);
// echo '<br/>';
// }
while ($rows = $result->fetch_object()) {
echo $rows->full_name, ' ' , $rows->bio, '<br />';
}
$result->free();
}
} else {
die($db->error);
}
数据库表人员包含两行数据,其中列是id,first_name,last_name,bio和created。
第1行:id = 1,first_name = kelly,last_name ='wafukho',bio =计算机科学家。
第2行:id = 2,first_name = gonzaga,last_name ='situma',bio = graphic designer。
当运行下面的查询时,它为第1行提供0计算机科学家,为第2行提供0图形设计师。这可能是什么原因?是我的SQL语法或php处理对象的问题? 我使用的是mysql数据库。
答案 0 :(得分:2)
您应该使用CONCAT
功能加入字段
SELECT CONCAT(last_name, ' ', first_name) as full_name, bio FROM people
答案 1 :(得分:0)
您正在获取对象,因此您必须在查询中选择一个行集限制1。
if ($result = $db->query("SELECT last_name +' '+ first_name as full_name, bio FROM people limit 1")) {
或获取多行的数组。