相关疑难解决方法(0)

返回类的构造函数中的值

到目前为止,我有一个PHP构造函数的类

public function __construct ($identifier = NULL)
{
 // Return me.
if ( $identifier != NULL )
{
  $this->emailAddress = $identifier;
  if ($this->loadUser() )
    return $this;      
  else
  {
// registered user requested , but not found ! 
return false;
  }
}
Run Code Online (Sandbox Code Playgroud)

功能loadUser是查找特定电子邮件地址的数据库.当我将标识符设置为某些电子邮件时,我确定它不在数据库中; 第一个IF被传递,然后进入第一个ELSE.这里构造函数应该返回FALSE; 但相反,它返回具有所有NULL值的类的对象!

我该如何防止这种情况?谢谢

编辑:

谢谢大家的答案.那很快!我看到OOP方式是抛出异常.所以抛出一个,我的问题改变了我应该怎么做的例外?php.net的手册非常令人困惑!

    // Setup the user ( we assume he is a user first. referees, admins are   considered users too )
    try { $him = new user ($_emailAddress);
    } catch (Exception …
Run Code Online (Sandbox Code Playgroud)

php oop constructor class

46
推荐指数
4
解决办法
7万
查看次数

在课堂上使用PDO

我有几个类执行一些MySQL查询和准备语句.但是,我迷失在如何将PDO对象合并到这些类中.例如,我想做这样的事情:

<?php

$dbh = new PDO(...);

class Foo extends PDO {
    public $dbh;

    public function bar() {
        $this->dbh->prepare('SELECT * FROM table');
        $this->dbh->execute();

    }
}


?>
Run Code Online (Sandbox Code Playgroud)

不幸的是,它不起作用.谁能建议一个优雅的方式来做到这一点?谢谢你的时间.对不起,我是新手,如果你不清楚,请留下任何评论,我会尽力回复!

php mysql pdo prepared-statement

26
推荐指数
2
解决办法
4万
查看次数

如何在不同的文件中使用 PDO 连接对象

您好,我是 MYSQL 的 PDO 新手,这是我的两个文件 1) index.php

require_once 'prd.php';
try{
    $db = new PDO ('mysql:host=xxxx;dbname=xxx;charset=utf8', 'xxx', 'xxxx');
    echo 'connectd';
}catch(PDOException $conError){
    echo 'failed to connect DB' . $conError->getMessage ();
}
$conn = new prdinfo();
$conn->con($db);
Run Code Online (Sandbox Code Playgroud)

2) 产品.php

class prdinfo{function con($db){
    try{
        foreach($db->query("select * from products where vendor_id = 2" ) as $row){
            $prod_id = $row ['product_id'];
            echo '<br/>' . $prod_id;
        }
    }catch(PDOException $ex){
        echo 'an error occured' . $ex->getMessage();
    }
}
}
Run Code Online (Sandbox Code Playgroud)

我的问题是在这里我可以将连接对象传递给每个文件,但是我有很多文件要使用数据库查询,所以我需要将 $bd 传递给所有文件。这给代码带​​来了负担。那么有什么方法可以将数据库与 PDO 连接起来。 谢谢

php mysql oop pdo

4
推荐指数
1
解决办法
6980
查看次数

标签 统计

php ×3

mysql ×2

oop ×2

pdo ×2

class ×1

constructor ×1

prepared-statement ×1