函数返回null

时间:2017-06-22 17:39:25

标签: php mysql model-view-controller pdo null

我需要你帮助解决我现在面临的php问题。所以我确实创建了一个添加新评论的功能(我正在博客上工作)。如果一切按预期运行,后者不应返回null。要了解,请参阅下面的代码。

我正在使用MVC所以看起来像这样:

Kommentar.php

public function createKommentar() {
    $this->bestaetigung = '0';
    $this->istGesehen = '0';

    $query = "INSERT INTO " . $this->table_name . " SET BESTAETIGUNG = ?,ISTGESEHEN = ?,INHALT = ?"
            . ",BENUTZERNAME = ?,IDARTIKEL = ?";

    $stmt = $this->conn->prepare($query);

    $stmt->bindParam(1, $this->bestaetigung);
    $stmt->bindParam(2, $this->istGesehen);
    $stmt->bindParam(3, $this->kommentarInhalt);
    $stmt->bindParam(4, $this->benutzerName);
    $stmt->bindParam(5, $this->idArtikel);

    $stmt->execute();
    return $stmt;
}

Controller_kommentar.php:

include_once '/../Model/objects/Kommentar.php';
include_once 'controller_bd.php';
$db = controller_connection();
$GLOBALS['kommentar'] = new Kommentar($db);
function controller_createKommentar() {
    $GLOBALS['kommentar']->createKommentar();
}

View.php

<?php
include_once '../../../Controller/controller_bd.php';
include_once '../../../Controller/controller_kommentar.php';

if ($_POST) {
if (!empty($_POST['benutzerName']) && !empty($_POST['kommentarInhalt'])) {
    controller_setBenutzerName($_POST['benutzerName']);
    controller_setKommentarInhalt($_POST['kommentarInhalt']);
    controller_setIdArtikel(100);
    if (controller_createKommentar()) {
        echo 'everything's ok!';
    } else {
        echo 'There is a problem :(';
        }
    }
}
?>

div class="row mt">
            <div class="col-lg-12">
              <div class="form-panel">
                      <form action="TEST.php" class="form-horizontal style-form" method="post">
                      <div class="form-group">
                          <label class="col-sm-2 col-sm-2 control-label">benutzerName</label>
                          <div class="col-sm-10">
                              <input type="text" name="benutzerName" class="form-control">
                          </div>
                      </div>
                      <div class="form-group">
                          <label class="col-sm-2 col-sm-2 control-label">kommentarInhalt</label>
                          <div class="col-sm-10">
                              <input type="text" name="kommentarInhalt" class="form-control">
                          </div>
                      </div>
                      <div class="form-group">
                              <button type="submit">submit</button>
                      </div>

                  </form>
              </div>
            </div><!-- col-lg-12-->         
        </div><!-- /row -->

结果:

请求被执行,我看到我的数据库中添加了一个新行,但问题是我总是收到一条消息“有一个问题:(”这意味着我的函数没有返回true,因为它应该任何想法为什么不起作用?我感谢你们的帮助,并提前感谢你们!

1 个答案:

答案 0 :(得分:0)

function controller_createKommentar() {
    $GLOBALS['kommentar']->createKommentar();
}    

你的功能没有返回任何东西。