OOP PDO;全局变量的问题?

时间:2014-01-21 12:37:09

标签: php mysql oop pdo

我对PDO和OOP很新。之后,我尝试执行下面给出的代码,我得到这个输出: - 致命错误:在C:\ xampp \ htdocs \ Mine \ OOPs \ pdo progs \ function中的非对象上调用成员函数query()。第20行的PHP。谢谢。

<?php

class main
       {

         public function __construct()
       { 

        $obj=new PDO("mysql:host=localhost;dbname=arnob-pdo",'root','');    

       }    

        public function reg()   
    {
        global $obj;
        $name=$_POST['name'];
        $email=$_POST['email'];
        $pass=$_POST['pass'];
                $sql=$obj->query("insert into memo set                                                            
                name='".$name."',email='".$email."',pass='".$pass."'");

        if($sql)
            {
             ?>

             <script type="text/javascript"> 
             alert("WELCOME <?php echo $_POST['name']; ?> to Memo"); 
             </script>
             <?php  
            }
             else echo 'Registration Failure';
       }        
        }
       $main=new main;

       ?>


        index.php:
        <?php require('function.php'); 

        if (isset($_POST['submit']))
         {  

      $exe=$main->reg();
      echo $exe; 
         } 

         ?>

带有提交表单。

1 个答案:

答案 0 :(得分:-1)

可以在文档中看到类和变量的基本说明: http://php.net/oop5.basic

正如其他用户所说,使用良好的代码格式和清晰的变量描述($ obj 描述性)。

<?php
    class main {
        private $db;

        public function __construct(){
            $this->db = new PDO( ... );
        }

        public function reg(){
            ...
            $sql = $this->db->query( ... );
            ...
        }
    }
?>