【发布时间】:2013-05-22 08:28:03
【问题描述】:
我浏览了谷歌和其他几个网站,但我不知道为什么这不起作用。
我正在处理 uni 作业,并运行以下代码:
$db = connect();
$testname = 'chunk';
try {
$stmt = $db->prepare('SELECT * FROM TreasureHunt.Player WHERE name = ?');
$stmt->execute(array($testname));
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
$stmt->closeCursor();
}
catch (PDOException $e) {
print "Error checking login: " . $e->getMessage();
}
$count = $stmt->rowCount();
echo 'Row count: ', $count, '<br>';
var_dump($result);
echo '<br>Result: ', $result['name'], ' pw: ', $result["password"], '<br>';
print_r($result);
但是这会导致以下错误:
Notice: Undefined index: name in /.automount/net/ufiler2/u2/cs3/dbes2376/lib/html/th/index.php on line 30
现在我知道这意味着,在我的 $result 变量中,索引“名称”必须不存在。但这让我感到困惑,因为它确实存在,通过查看: var_dump($result) var_dump($result) 给我:
array(1) { [0]=> array(5) { ["name"]=> string(5) "chunk" ["password"]=> string(7) "truffle" ["pw_salt"]=> string(8) "g#m#g#m#" ["gender"]=> string(1) "m" ["addr"]=> string(10) "Goon Docks" } }
而 print_r($result) 给了我:
Array ( [0] => Array ( [name] => chunk [password] => truffle [pw_salt] => g#m#g#m# [gender] => m [addr] => Goon Docks ) )
那么为什么我不能将它们称为 $result['name'] 呢?或者我实际上如何引用它?
谢谢。抱歉,这是一个基本问题。
【问题讨论】:
-
从
var_dump($result)的输出中可以看出,它是一个数组,其中包含另一个数组。 -
哇,有很多无法解释的反对票,尤其是对于一个实际上写得很好的问题。投反对票的人,也请发表评论吗?
标签: php postgresql pdo indexing undefined