首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP / SQLITE3问题

PHP / SQLITE3问题
EN

Stack Overflow用户
提问于 2019-03-12 05:59:41
回答 1查看 40关注 0票数 0

尝试添加帖子时收到错误-它刚刚开始发生:

警告: SQLite3::exec():near "t":第9行出现语法错误

代码语言:javascript
复制
<?php 
    include '../views/addBlog.html';
    require '../model/db.php';
    $result = "";
    if(isset($_POST['title']) && isset($_POST['content'])) {
        $title = $_POST['title'];
        $content = $_POST['content'];

    if ($db->exec("INSERT INTO forum (title, content) VALUES('$title', 
         '$content')")) {
        $result = "Added";
    }
    else {
        $result = "not added";
    }
}

我也不知道如何在SQLITE3中接受参数和查询特定的行。如果我硬编码ID=1``, it pulls data, but not when I use$id`

Index.php:

代码语言:javascript
复制
<?php 
    require_once('../model/db.php');
    include('header.html');
    $statement = $db->query('SELECT * FROM forum ORDER BY post');
 ?>

<?php while($row = $statement->fetchArray(SQLITE3_ASSOC)) { 
        echo '<div class="blog">';
            echo '<h2><a href="viewBlog.php?id=1">'.$row['title'].'</a> 
               </h2>';
            echo '<p>Posted on: '.$row['post'];
            echo '<p>'.$row['content'].'</p>';
            echo '<p><a href="viewBlog.php?id='.$row['ID'].'">'.'Read 
                 more</a></p>';
        echo '</div>';
    }
?>

viewBlog.php

代码语言:javascript
复制
<?php 
    require_once('../model/db.php');
    include('header.html');
    $id = $_GET['id'];
    $statement = $db->query('SELECT * FROM forum WHERE ID=$id');
?>

<body>
    <h2>Recent Questions</h2>
        <?php while($row = $statement->fetchArray()) { 
         echo '<h2>'.$row['title'].'</a></h2>';
        echo '<p>Posted on: '.$row['post'];
         echo '<p>'.$row['content'].'</p>';
    } ?>  
     <p><a href="index.php">Go Back</a></p>
</body>
EN

回答 1

Stack Overflow用户

发布于 2019-03-12 06:26:26

使用prepare函数代替http://php.net/manual/en/sqlite3.prepare.php

要正确显示行,请使用htmlentities http://php.net/manual/en/function.htmlentities.php

代码语言:javascript
复制
<?php 
        include '../views/addBlog.html';
        require '../model/db.php';
        $result = "";
        if(isset($_POST['title']) && isset($_POST['content'])) {
            $title = $_POST['title'];
            $content = $_POST['content'];

        $stmt = $db->prepare("INSERT INTO forum (title, content) VALUES(:title,:content)");
        $stmt->bindParam(':title', $title);
        $stmt->bindParam(':content', $content);
        $result = $stmt->execute();
        var_dump($result);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55111043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档