Php 使用fetch(PDO::fetch_ASSOC)从MySQL数据库回显数据;

Php 使用fetch(PDO::fetch_ASSOC)从MySQL数据库回显数据;,php,mysql,pdo,Php,Mysql,Pdo,我已成功连接到MySQL数据库并使用以下代码获取数据: try { $results = $db->prepare("SELECT * FROM persoonsinfo WHERE id = ?"); $results->bindParam(1,$_SESSION["user_id"]); $results->execute(); } catch (Exception $e) { echo "data could not be retrieved"; exit; } 使用

我已成功连接到MySQL数据库并使用以下代码获取数据:

try {
$results = $db->prepare("SELECT * FROM persoonsinfo WHERE id = ?");
$results->bindParam(1,$_SESSION["user_id"]);
$results->execute();

} catch (Exception $e) {
echo "data could not be retrieved";
exit;
}
使用var_dump$results->fetchPDO::FETCH_ASSOC;转储正确的行!例如:

array(15) {
["id"]=>
string(1) "1"
["bedrijf"]=>
string(0) ""
["titel"]=>
string(0) ""
["voorletters"]=>
string(4) "test"
["tussenvoegsel"]=>
string(0) ""
["achtervoegsel"]=>
string(0) ""
["meisjesnaam"]=>
string(0) ""
["thuis_adres"]=>
string(22) "test"
["thuis_postcode"]=>
string(7) "test"
["thuis_plaats"]=>
string(9) "test"
["thuis_land"]=>
string(0) ""
["mobiele_telefoon"]=>
string(11) "test"
["email_thuis"]=>
string(20) "test"
["geboortedatum"]=>
string(0) ""
["bsn_nummer"]=>
string(0) ""
}
这很完美,但现在我为如何将数据回送到屏幕而头疼

我创建了:$user_info=$results->fetchPDO::FETCH_ASSOC;我本以为这会起作用,但它什么也不回应,让我发疯

我正在尝试在我的“page mijnawf.php”文件中执行echo,在该文件中,我执行了以下操作:

<?php include (TEMPLATEPATH . '/includes/database.php'); ?>
和user-session-info.php:

请注意,在代码块右上方的结束div之前的一行中出现了。那条线没有回声


谢谢你的帮助

fetch方法从数据库返回内容,然后跳到下一行。如果只有一行,那么为var_转储调用它一次将已经到达结果集的末尾

您的解决方案:不要调用var_dump$results->fetchPDO::FETCH_ASSOC;,为了执行$results->只取一次


如果需要在屏幕上打印记录以进行调试,则在调用$user_info=$results->fetchPDO::FETCH_ASSOC;你可以做var_dump$user_info

你的权利!谢谢你让我知道!然而,这仍然给我留下了一个问题:回音不起作用,你有什么建议吗?@BorisKamp你能发布你的全部更新代码吗?感谢更改后,我尝试将您的代码精简到最低限度,并在我的系统上运行。如果替换为会发生什么?替换它会使echo命令工作!因此,如果page-mijnawf.php文件中没有var_转储,页面上似乎没有信息,对吗?我该怎么解决?这真的很尴尬。现在可以了!我不知道为什么,因为在您建议替换之后,我将所有内容都从update 01更改回原来的代码,现在它可以工作了。我不知道,我能“触发”什么吗?不是吗?无论如何,我要非常感谢你!我很高兴它现在可以工作了!顺便说一下,如果您包含user-info-session.php文件,该文件在输出div后调用session_start,您将得到一个错误
try {
$db = new PDO("mysql:host=localhost;dbname=contacten_db;port=8889","root","root");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec("SET NAMES 'utf8'");
} catch (Exception $e) {
echo "Could not connect to the Database Contacten_DB";
exit;
}

try {
$results = $db->prepare("SELECT * FROM persoonsinfo WHERE id = ?");
$results->bindParam(1,$_SESSION["user_id"]);
$results->execute();

} catch (Exception $e) {
echo "data could not be retrieved";
exit;
}

echo "<pre>"; //For Testing only

$user_info = $results->fetch(PDO::FETCH_ASSOC);
var_dump($user_info);

?>
<?php
// Start the session
session_start();

// Set session variables
$_SESSION["user_id"] = intval(get_current_user_id());

//echo "User ID =" . " " . $_SESSION["user_id"]
?>
<div>
  <?php include (TEMPLATEPATH . '/includes/database.php'); ?>

  <?php include (TEMPLATEPATH . '/includes/user-info-session.php'); ?>

  <p class="no-bottom-margin">Welkom <?php echo $user_info['voorletters']; ?> Uw Fonds: </p>

</div>