当我尝试从我的bd中选择一个nome时,它没有显示任何内容
这是选择名称的功能:
public function searchName(){
$db = new Conection();
$query = $db->prepare("SELECT * FROM dog WHERE id = 1");
$query->execute();
$result = $query->fetchAll(PDO::FETCH_OBJ);
foreach($result as $row)
{
return $row['name'];//return to getName
}
}
这是来自getName的代码:
require 'Conection.php';
require 'model/Dog.php';
$dog = new Dog;
$res = $dog->searchName(1);
echo $res;
班级连接正常。
答案 0 :(得分:2)
由于你使用PDO::FETCH_OBJ
,你应该:
return $row->name;
自从你致电:
$res = $dog->searchName(1);
您的功能声明必须是:
public function searchName($id){
$db = new Conection();
$query = $db->prepare("SELECT * FROM dog WHERE id = ?");
$query->bindParam(1,$id);
$query->execute();
答案 1 :(得分:0)
您的代码中存在一些问题,
传递后你没有使用函数参数
,这里只想要一行返回
你应该使用$query->fetch
而不是$query->fetchAll
你的代码应该是这样的
public function searchName($id){
$db = new Conection();
$query = $db->prepare("SELECT * FROM dog WHERE id = :id");
$query->execute(array('id'=>$id)); // bind parameters for security
$result = $query->fetch(PDO::FETCH_ASSOC); // updated object with assoc... ie if obj used than return $result->name
return $result['name'];
}
而不是
echo $res = $dog->searchName(1);
答案 2 :(得分:0)
PDO :: FETCH_ASSOC为$row->name
但
PDO :: FETCH_OBJ是{{1}}