Php数据库模型

Php数据库模型,php,oop,class,object,model,Php,Oop,Class,Object,Model,两件事(可能仅适用于此处的代码示例): 在您的示例中,您没有关闭 类,因为最后一个“}”是 评论说 您从未打开到数据库的连接,因此查询将失败 两件事(这里可能只适用于您的代码示例): 在您的示例中,您没有关闭 类,因为最后一个“}”是 评论说 您从未打开到数据库的连接,因此查询将失败 一些意见: 在构造函数中声明属性是可能的,但这并不优雅。我宁愿做: <?php class ann { public function __construct($context, $orgs_

两件事(可能仅适用于此处的代码示例):

  • 在您的示例中,您没有关闭 类,因为最后一个“}”是 评论说
  • 您从未打开到数据库的连接,因此查询将失败
  • 两件事(这里可能只适用于您的代码示例):

  • 在您的示例中,您没有关闭 类,因为最后一个“}”是 评论说
  • 您从未打开到数据库的连接,因此查询将失败
  • 一些意见:

    在构造函数中声明属性是可能的,但这并不优雅。我宁愿做:

    <?php
     class ann {
    
          public function __construct($context, $orgs_id, $created_at) {
             $this->context = $context;
             $this->orgs_id = $orgs_id;
             $this->created_at = $created_at;
         }
    
         function create(){
             $createann = mysql_query("INSERT INTO anns(context,
     orgs_id, created_at)
     VALUES('$this->context',
     $this->orgs_id, '$this->created_at'");
             if($createann) echo "Duyuru Başarıyla Eklendi"; else echo "Duyuru
     Eklenemedi";
         }
         function read($id){
             $readann = mysql_query("SELECT * FROM anns WHERE id = $id");
             $context = mysql_result($readann,0, "context");
             $orgs_id = mysql_result($readann,0, "orgs_id");
             $created_at = mysql_result($readann,0,
     "created_at");
    
             $ann = new ann($context, $orgs_id, $created_at);
    
             return $ann;
         }
         function update($id, $context){
             $updateann = mysql_query("UPDATE anns SET context =
     '$context' WHERE id = $id");
             if($updateann) echo "Update success"; else echo
     "Update failed";
         }
         function delete($id){
             $deleteann = mysql_query("DELETE FROM anns WHERE id
     = $id");
             if($deleteann) echo "Delete success"; else echo "Delete not success";
         }
         //crud fonksiyonlari burda bitiyor 
    }
    
    ?>
    
    “->”运算符在字符串中不起作用。您需要连接查询:

    class ann {
      private $context;
      private $orgs_id;
    
    但是要小心

    剩下的应该没问题!祝你好运。

    一些观察结果:

    在构造函数中声明属性是可能的,但这并不优雅。我宁愿做:

    <?php
     class ann {
    
          public function __construct($context, $orgs_id, $created_at) {
             $this->context = $context;
             $this->orgs_id = $orgs_id;
             $this->created_at = $created_at;
         }
    
         function create(){
             $createann = mysql_query("INSERT INTO anns(context,
     orgs_id, created_at)
     VALUES('$this->context',
     $this->orgs_id, '$this->created_at'");
             if($createann) echo "Duyuru Başarıyla Eklendi"; else echo "Duyuru
     Eklenemedi";
         }
         function read($id){
             $readann = mysql_query("SELECT * FROM anns WHERE id = $id");
             $context = mysql_result($readann,0, "context");
             $orgs_id = mysql_result($readann,0, "orgs_id");
             $created_at = mysql_result($readann,0,
     "created_at");
    
             $ann = new ann($context, $orgs_id, $created_at);
    
             return $ann;
         }
         function update($id, $context){
             $updateann = mysql_query("UPDATE anns SET context =
     '$context' WHERE id = $id");
             if($updateann) echo "Update success"; else echo
     "Update failed";
         }
         function delete($id){
             $deleteann = mysql_query("DELETE FROM anns WHERE id
     = $id");
             if($deleteann) echo "Delete success"; else echo "Delete not success";
         }
         //crud fonksiyonlari burda bitiyor 
    }
    
    ?>
    
    “->”运算符在字符串中不起作用。您需要连接查询:

    class ann {
      private $context;
      private $orgs_id;
    
    但是要小心


    剩下的应该没问题!祝你好运。

    上下文
    组织id
    和在创建的
    必须首先声明为公共、私有或受保护,然后才能使用它们

    create
    方法中,不过滤用户输入。这可能会导致您的应用程序SQL注入,您必须始终过滤用户输入。使用或准备好的支架


    您可以对此进行检查。

    上下文
    组织id
    创建时必须首先声明为公共、私有或受保护,然后才能使用它们

    create
    方法中,不过滤用户输入。这可能会导致您的应用程序SQL注入,您必须始终过滤用户输入。使用或准备好的支架


    您可以对此进行检查。

    代码底部的注释将删除类的结尾}。这个错误只是在帖子中吗?是的,这只是帖子中的一个错误,谢谢你指出感谢注入警告,但是我们在字符串到达对象创建之前使用了一个过滤器。你代码底部的注释删除了类的结尾}。这个错误只是在帖子中吗?是的,这只是帖子中的一个错误,感谢您指出Thank injection warnings,但是我们在字符串到达对象创建之前使用了一个过滤器。如果您将字符串包装在{}中,您可以在字符串中使用对象运算符,例如“Property value Is{$object->Property}”;这里还有一个关于良好PHP OOP实践的非常好的教程:如果将对象操作符包装在{}中,则可以在字符串中使用它们,例如“属性值为{$object->Property}”;这里还有一个关于良好PHP OOP实践的非常好的教程: