Php 布尔函数上的PDO成员函数

Php 布尔函数上的PDO成员函数,php,mysql,pdo,Php,Mysql,Pdo,我只是简单地尝试在数据库中插入UTF8数据并检索,但有些事情真的搞砸了!它只显示了一个错误 这是我的建议,我认为没有什么问题 致命错误:在布尔值上调用成员函数fetchAll 这里是源代码。我确实搜索过这个问题,但在这种情况下这些都不起作用。请不要将此标记为重复,因为我尝试了所有的,但没有工作,所以这就是我发布的原因。提前谢谢 <?php error_reporting(E_ALL); ini_set('display_errors', true); header('Content-

我只是简单地尝试在数据库中插入UTF8数据并检索,但有些事情真的搞砸了!它只显示了一个错误

这是我的建议,我认为没有什么问题

致命错误:在布尔值上调用成员函数fetchAll

这里是源代码。我确实搜索过这个问题,但在这种情况下这些都不起作用。请不要将此标记为重复,因为我尝试了所有的,但没有工作,所以这就是我发布的原因。提前谢谢

 <?php

error_reporting(E_ALL);
ini_set('display_errors', true);

header('Content-Type: text/html; charset=utf-8');

$pdo = new PDO('mysql:dbname=ourcms;host=localhost', 'root', '',
               array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));

if (!empty($_POST['text'])) {
    $stmt = $pdo->prepare('INSERT INTO `texts` (`text`) VALUES (:text)');
    $stmt->execute(array('text' => $_POST['text']));
}

$results = $pdo->query('SELECT * FROM `texts`')->fetchAll(PDO::FETCH_ASSOC);

?>
<!DOCTYPE html>

<html>
<head>
    <title>UTF-8 encoding test</title>
</head>
<body>

<h1>Display test</h1>

<p>
A good day, World!<br>
Schönen Tag, Welt!<br>
Une bonne journée, tout le monde!<br>
يوم جيد، العالم<br>
좋은 일, 세계!<br>
Một ngày tốt lành, thế giới!<br>
こんにちは、世界!<br>
</p>

<h1>Submission test</h1>

<form action="" method="post" accept-charset="utf-8">
    <textarea name="text"></textarea>
    <input type="submit" value="Submit">
</form>

<?php if (!empty($_POST['text'])) : ?>
    <h2>Last received data</h2>
    <pre><?php echo htmlspecialchars($_POST['text'], ENT_NOQUOTES, 'UTF-8'); ?></pre>
<?php endif; ?>

<h1>Output test</h1>

<ul>
    <?php foreach ($results as $result) : ?>
        <li>
            <pre><?php echo htmlspecialchars($result['text'], ENT_NOQUOTES, 'UTF-8'); ?></pre>
        </li>
    <?php endforeach; ?>
</ul>

</body>
</html>
$results=$pdo->query'SELECT*fromtexts'->fetchAllPDO::FETCH_ASSOC

删除链并检查查询结果,因为出于某些原因,它返回false而不是pdo语句:


一般来说,您永远不应该假设查询成功,所以在继续之前一定要检查错误。

主要是由于打字错误造成的最大次数!所以在发表关于这个问题的文章之前。检查您的数据库输入错误和配置。

您的表是测试还是文本?您正试图用文本列插入文本,而不是测试?o.o!谢谢专业人士!我看的地方我不知道!我跟着这些帖子,但我什么也没看到!
Return Values 
PDO::query() returns a PDOStatement object, or FALSE on failure.