2

我在这里不知所措。不知道为什么我会得到“stdClass”。我不应该从第一列得到名字吗?

$sql = "选择 cn、iso2、iso3、fid、从 ct 排序";
$stmt = $dbh->查询($sql);
$result = $stmt->fetch( PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE );
var_dump($result);

//预期 - 首先:cn.col 保存国家名称
对象(巴西)[3]
  公共'iso2' => 字符串'BR'(长度=2)
  公共'iso3' => 字符串'BRA'(长度=3)
  公共'fid' => 字符串'1'(长度=1)
  公共“排序”=> 字符串“0”(长度=1)

//已收到
对象(stdClass)[3]
  公共'iso2' => 字符串'BR'(长度=2)
  公共'iso3' => 字符串'BRA'(长度=3)
  公共'fid' => 字符串'1'(长度=1)
  public 'sort' => string '0' (length=1)var_dump
4

1 回答 1

0

问题很可能是未定义类(或在范围内)。我使用本地数据进行了一些测试。

$conn = new PDO("mysql:host=localhost;dbname=test", 'user', 'pass');
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); 

$stmt = $conn->prepare("SELECT name,email FROM `test_table`");
$stmt->execute();
$result = $stmt->fetch( PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE );

print_r($result) // returns stdClass Object ( [email] => 'test@test.com' ) 

通过在 PDO 代码上方添加它

Class levi{

}

我能够让它返回:

levi Object ( [email] => 'test@test.com') 
于 2013-02-03T16:45:28.733 回答