php – 用于将数据插入mysql数据库的代码

请在回答或按“关闭链接之前仔细阅读此问题.
这个问题是关于分享经验,交换提示和技巧.

你用什么代码将数据插入mysql数据库

只需从您的真实项目中获取一些代码.最好是CRUD型.
我是指真正的代码.请不要从手册中复制粘贴代码示例.它与现实生活需求不同.请不要回答“你可以使用这些方法……”.我完全了解他们.我不是要求方法,而是要求真正的编码经验.

我发现分享您的代码,向他人学习经验非常有趣且非常有启发性.

请注意,代码必须完整,包括所有数据准备.但如果可能,不进行验证.如果有太多的后台工作(如模型初始化等),可以省略后台工作.我要求更多的食物供思考,而不是复制和粘贴代码.

请不要太快关闭主题.
我渴望得到真实世界的代码示例,这里只有很少的代码,但虚拟代码片段无处不在.

欢迎使用PHP以外的语言,以及任何ORM或框架用法.但请记住 – 不要从文档示例中复制粘贴,而是从您自己的项目中复制粘贴.有很大的不同.

解决方法:

Redbean ORM.我所做的基本上是围绕它的域对象包装我自己的代码,因此它看起来像

 class Book extends RedBean_DomainObject
   {
       public function __construct($id)
       {
           if ($id!=0)
             $this->find($id);               
       }

       public function save_details($author, $title)
       { 
            // insert OR update new entry
            $this->author = $author;
            $this->title = $title;
            $this->save(); 
        }
   }

代码将检查’bean’是否存在;如果是的话,它会加载它.您将属性分配给该类,并调用save()方法将其保存到该bean. RedBean ORM将自动检测它是保存还是更新.
注意:RedBean域对象已经被更好的东西取代了.

我也在使用wordpress wp-db,我喜欢这种语法

 $wpdb->insert("books", array('title' => $title, 'author' =>$author));

我找到了一个little wrapper online,它允许我做INSERT …在DUPLICATE KEY上.

$wpdb->insert_on_duplicate("author_book_relationship", 
                          array('book_id' => $book_id,
                                'date_published' =>$date_published),
                          array('book_id' => $book_id));

一个参数是表,第二个是插入/更新信息,最后一个是UPDATE部分的where子句.

编辑

我通常将sql函数包装在一个帮助器中

class BookHelper
{
    public function save_relationship($id, $book, $author)
    {
       global $wpdb;

       $wpdb->insert_on_duplicate("author_book_relationship", 
                          array('book_id' => $book_id,
                                'date_published' =>$date_published),
                          array('book_id' => $book_id));
    }
}

在战略中

class BookSaveStrategy
{
     protected $book_helper;

     public function save_relationship($id, $book, $title)
     {
          // validate id, book and title
          //.....
          // Save if ok
          $this->book_helper->save_relationship($id, $book, $title);
     }
}

哪个可以在控制器中使用

if (isset($_POST['save_book']))
{
    $book_save_strategy->save($_POST['id'], $_POST['author'], $_POST['title']);
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...