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 =平面设计师。
当下面的查询运行时,它给了我第1行的计算机科学家和第2行的0计算机科学家。可能是什么原因呢?是我的SQL语法或PHP处理对象的问题? 我正在使用mysql数据库。
看起来你不能在字符串连接中使用'+'运算符 - 你的数据库试图将名称加上数字并且加上零。有些数据库允许这样做,有些则不允许,所以您需要指出您正在使用的数据库。 – Kryten
您正在提取对象,因此您必须在查询中选择一个行集限制1 –