【问题标题】:Is it possible to create a insert method using php是否可以使用php创建插入方法
【发布时间】:2018-06-24 23:44:40
【问题描述】:

我正在寻找一些建议,我正在使用 PDO 并尝试将表单数据插入到我的数据库中。

我创建了一个类,我通过构造连接到我的数据库,当填写表格时,我想使用一种方法来接受数据以将其插入到我的数据库中。

这可能吗?或者,我需要通过程序方法解决吗?

我的插入语句如下所示:

class Post extends Database
{

    public function postMessage($username, $message)
    {
        if (isset($_SERVER['POST'])){

            $connection->setAttribute(PDO::ATTR_ERRMODE, 
            PDO::ERRMODE_EXCEPTION);

            $statement = $connection->prepare("INSERT INTO messages 
            (username, message) VALUES (:user, :message)");

            $statement->bindParam(':username', $username);
            $statement->bindParam(':message', $message);

            $statement->execute();

            echo "Message has been sent";

        } else {
            exit("Need to enter a message");
        }

    }
}

【问题讨论】:

  • 是的,当然可以。你遇到什么问题了吗?
  • 看起来不错!现在您只需要创建该类的对象并使用 2 个参数调用该方法。
  • 您最好检查一下$message 是否不为空,因为这是您要插入的内容。
  • 另外(旁注)$_SERVER['POST'] 那里没有地方可以突然使用。要么使用 getter/setter,要么使用其他两个参数将其传递给函数调用
  • 我早上再仔细看看,我会检查message变量是否为空然后执行操作

标签: php pdo phpmyadmin


【解决方案1】:

删除 if-else 语句(像这样):

class Post extends Database
{
    public function postMessage($username, $message)
    {
        if(!empty($username) && !empty($password))
        {
            $this->connection->setAttribute(PDO::ATTR_ERRMODE, 
            PDO::ERRMODE_EXCEPTION);

            $statement = $connection->prepare("INSERT INTO messages 
            (username, message) VALUES (:user, :message)");

            $statement->bindParam(':username', $username);
            $statement->bindParam(':message', $message);

            if($statement->execute())
               echo "Message has been sent";
            else
               echo "Something wants wrong!";
         }
         else
         {
            echo "Please fill all fields!";
         }
    }
}

创建对象并调用函数:

$post = new Post;
echo $post->postMessage("John", "Hello, world");

【讨论】:

    猜你喜欢
    • 2016-02-26
    • 2015-06-11
    • 2011-06-13
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多