使用类插入数据库(PHP)

时间:2015-07-18 05:21:45

标签: php mysql function class methods

我对课程比较陌生。我有这张医生表,里面有身份证,医生姓名,地址,工作和所属的团体。我有一个我已经创建的Doctor类,以及一个名为newDoctor()的类中的方法,用于将新医生插入数据库。我没有看到在课堂上这样做有什么好处?我知道课程/对象通常被认为是#34;更好",也许我只是没有正确地实现它或最好的方式,但我不知道如何将它作为一种方法在class比在类之外使用函数更好。请告诉我它是否或更好的方法!

class Doctor {      

  function newDoctor($doc_info){
    $database = new Database();
    $database -> query('INSERT INTO doctors (first_name, last_name, address, city, state, zip, group_id, job) 
    VALUES (:first_name, :last_name, :address, :city, :state, :zip, :group_id, :job)');
    $database -> bind(':firstname', $doc_info['firstname']); 
    $database -> bind(':lastname',  $doc_info['lastname']); 
    $database -> bind('address',    $doc_info['address']); 
    $database -> bind(':city',      $doc_info['city']); 
    $database -> bind(':state',     $doc_info['state']); 
    $database -> bind(':zip',       $doc_info['zip']); 
    $database -> bind(':group_id',  $doc_info['group_id']); 
    $database -> bind(':job',       $doc_info['job']); 
    $database -> execute();
 }
}

我有一个MySql库以及Database()的来源。这很好。

另外,如果我有这样的东西,我有很多输入参数,是不是更好"传递数组或每个变量?还是有更好的方法来共同做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:0)

你做得对,但错过了一些代码。

试试我的代码:

  function newDoctor($doc_info){
    $database = new Database();
    $database -> query('INSERT INTO doctors (first_name, last_name, address, city, state, zip, group_id, job) 
    VALUES (:first_name, :last_name, :address, :city, :state, :zip, :group_id, :job)');
    $sth=$this->prepare($database);
    $sth -> bind(':firstname', $doc_info['firstname']); 
    $sth -> bind(':lastname',  $doc_info['lastname']); 
    $sth -> bind('address',    $doc_info['address']); 
    $sth -> bind(':city',      $doc_info['city']); 
    $sth -> bind(':state',     $doc_info['state']); 
    $sth -> bind(':zip',       $doc_info['zip']); 
    $sth -> bind(':group_id',  $doc_info['group_id']); 
    $sth -> bind(':job',       $doc_info['job']); 
    $sth -> execute();
 }
}

我希望它能奏效!