首页 > 解决方案 > PHP CRUD 和 MySQL 在两个文件上

问题描述

我对 php 和数据库很陌生...

我有一个显示评论的文件,contact.php在这里显示它和我的Css,因为codepen只有JS,评论表单不显示,评论代码调用classprove.php它在PHP和它就在这里,人们帮助我,构建这些代码......

比有文件kommenter_verwalter.php我将在 Tabelle 上显示我的评论输出。

所以,我有两个文件用于我的评论,classprove.php用于管理我的评论和kommenter_verwalter.php,我将在其中显示它们。

我尝试使用这些代码构建一个文件以在每行旁边使用一个按钮进行删除,这样如果我想删除该行,我单击删除按钮。

编辑新的我的代码

现在搜索我的代码而不连接到我的classprove.php文件。

来自kommenter_verwalter.php的代码,

<?php

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);



class ClassProveContakt2 
{


          private $dbHost = 'localhost'; # Host der Datenbank
          private $dbName = 'meine';      # Name der Datenbank
          private $dbUser = 'root';      # Name phpmyadmin
          private $dbPass = 'pass';      # Passwort


          private $name;
          private $email;
          private $message;
          private $datetime;
          private $ip;
          private $db;
          private $connection; 
          private $id;
          private $sql; 
          private $statement;
          private $success;     




          function CommentToDatabase()
          {
              // Establish connection with MYSQL Server
            try
            {
              $db = new PDO("mysql:host=localhost;dbname=meine", "root", "pass");
            }
             catch (PDOException $pe)
            {
               echo "<br>Cannot connect to database: " . $pe->getMessage();
                return false;
            }

            if(isset($_POST["delete"])) {
             try {


                   $connection = new PDO($id, $name, $email, $message, $datetime, $ip);

                   $id = $_POST["id"];

                   $sql = "DELETE FROM mela WHERE id = :id";

                   $statement = $connection->prepare($sql);
                   $statement->bindValue(':id', $id);
                   $statement->execute();

                   $success = "User successfully deleted";
                  }catch(PDOException $error) {
                        echo $sql . "<br>" . $error->getMessage();
                   }

             } 
           }
           function tabelle() 
           {
              $db = $this ->CommentToDatabase();

              if ($db) 
              {  

                 echo "<table id='user' class='table table-bordered'>

                    <tr>
                      <th>id</th>
                      <th>name</th>
                      <th>email</th>
                      <th>message</th>
                      <th>datetime</th>
                      <th>ip</th>
                       <th>Delete User</th>
                      </tr>";

                     foreach ($db as $row){

                        echo <<<EOT
                           <tr>
                              <td>{$row['id']}</td>
                              <td>{$row['name']}</td>
                              <td>{$row['email']}</td>
                              <td>{$row['message']}</td>
                              <td>{$row['datetime']}</td>
                              <td>{$row['ip']}</td>
                              <td><button type "submit" name="delete" value="{$row['id']}">löschen</button> 
                            </tr>

EOT;
                     }

                    echo "</table>";   


                 }

           }
}

$News = new ClassProveContakt2;
$News -> CommentToDatabase();
$News -> tabelle();
?>

写的时候sudo tail -n0 -f /var/log/apache2/error.log /var/log/mysql/error.log

现在来了不是错误,但没有显示...

我要观察我没有,

$_POST["删除"]

$_POST["id"];

我只用 (name, email and message)构建我的表单, id用 phpmyadmin 构建。. 这些代码有在互联网上找到...

可以请任何人告诉我,如何更改这些部分的代码。

如何在 phpmyadmin 上显示我的 Tabelle ,

我想要文件kommenter_verwalter.php(这里给出),输出仅在带有按钮的表格上显示评论(名称,电子邮件,消息,..),删除此屏幕截图以显示...,并将文件classprove.php保留为 Administrate for Comment 。

谁能帮我解决这个问题,谢谢!

标签: phpsqlpdo

解决方案


上面的错误表明存在错误'并且 "您没有正确放置它们,这就是为什么complier无法parse处理您的代码的那部分。像下面这样更改该行应该可以工作:

 echo "<form action='classprove.php' method='post'>
              <tr>
               <td> '".$row["id"]."'</td>
                <td>'". $row["name"]."'</td>
                <td>'". $row["email"]."'</td>
               <td> '".$row["datetime"]."'</td>
              <td> '".$row["ip"]."'</td>
             </tr>
              </form>"; 

推荐阅读