所以以前我的查询工作正常。我通常使用mysql,但最近通过godaddy更改为预先配置的vps。昨晚我试图通过PDO连接到我的服务器,这显示正在建立连接。
接下来,我尝试使用以下方法从表中选择数据:
global $conn;
$sql = "SELECT name FROM suppliers";
$stm = $conn->prepare($sql);
$stm->execute();
return $stm->fetch();
我的网站上显示的所有内容都是Connection Successful,Array
它不显示任何数组信息或任何内容,只显示单词“Array”。该表中包含信息,因此应显示结果。我知道我做错了什么?
答案 0 :(得分:1)
你得到Array
,因为你正在回应一个数组。 Fetch
返回一个数组,
PDO :: FETCH_BOTH(默认值):返回由结果集中返回的列名和0索引列号索引的数组
由于您正在查询完整的表,因此您可能需要所有结果,因此您应该循环fetch
并返回该数组。
$sql = "SELECT name FROM suppliers";
$stm = $conn->prepare($sql);
$stm->execute();
while($row = $stm->fetch()) {
$returned_array[] = $row['name'];
}
return $returned_array;
然后对所有供应商名称使用它进行迭代。
foreach(function_call_for_names() as $name) {
echo $name;
}
或者,您可以使用PDO fetchAll
功能
$sql = "SELECT name FROM suppliers";
$stm = $conn->prepare($sql);
$stm->execute();
return $stm->fetchAll();
然后
foreach(function_call_for_names() as $row) {
echo $row['name'];
}