ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2019-06-06 21:04:34  阅读:195  来源: 互联网

标签: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']);
}

标签:php,mysql
来源: https://codeday.me/bug/20190606/1189776.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有