我一直盯着代码看了几个小时试图看到我失踪的东西。也许有人可以指出我正确的方向。
首先,我有一个包含多个表的数据库。一个用于存储产品位置和详细信息的图像。我构建了可以查看,编辑和添加产品的页面。这一切都很有效。
我现在正在尝试做一些简单的事情而且它不起作用。我创建了一张桌子" Contacts"在数据库中添加了行"名称,街道,城市,邮编,电话,电子邮件"。我用测试数据填充了这个表。
我试图让我的页面读取数据并将其显示在屏幕上。我写了一个完整的html页面,并试图让它工作。在感到沮丧之后,我使用了一个非常简单的PHP脚本。我一直收到SQL错误"注意:未定义的索引:第38行和第34行的C:\ wamp \ www \ woody \ Admin \ index.php中的名称;我知道第一个索引名为" name"我还试图取代" $ results [' name']"使用" $结果[' 0']"和" $结果[' 1']"。似乎没什么用。有人看到我疲惫的眼睛失踪了吗?
<body>
<?php
require_once("../includes/db.php");
$sql = "SELECT * FROM contact";
$query = $conn->prepare( $sql );
$query->execute();
$results = $query->fetchAll( PDO::FETCH_ASSOC );
echo htmlentities($results['name']);
?>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
答案 0 :(得分:1)
echo htmlentities($results[0]['name']);
将是正确的方法,因为您正在使用返回嵌套数组的fetchAll()
。
或者,选择多行时更合适
foreach ($results as $row)
{
echo htmlentities($row['name']);
}
如果您只想选择一行,则必须使用fetch()
方法而不是fetchAll()
。您可以在我写的指南The only proper guide on PDO
如果返回空数组,则没有使用示例数据填充表格
还有可能出现错误。您必须按照My PDO Statement doesn't work
中的说明报告这些内容