小编Dan*_*nel的帖子

如何将PHPMailer导入到使用命名空间的类中?

我有以下项目文件夹和文件:(请注意,我想将我的类与库分开(例如PHPMailer,HTMLPurifier等))

在此输入图像描述

在我的Register.php文件中,我有Register类:

namespace Classes\Register;

class Register
{
    public function register()
    {
        // ...
        $m = new PHPMailer;
        // send email
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,在我的Register类(位于classes /目录中)中,我想使用PHPMailer类(位于上面的一个目录,相对于Register.php文件,进入libs/PHPMailer).如何将PHPMailer类包含在Register.php文件中?

我试过了:

 $m = new \PHPMailer; // to use the class from the global scope, but it doesn't work.
Run Code Online (Sandbox Code Playgroud)

或者,如果我包含PHPMailerAutoload.php,如下所示:

namespace Classes\Register;

require '../libs/PHPMailer/PHPMailerAutoload.php';

// and then into register() method:
$m = new PHPMailer;
Run Code Online (Sandbox Code Playgroud)

我收到一条错误说明: Fatal error: Class 'Classes\Register\PHPMailer' not found

有任何想法吗?非常感谢!

php namespaces phpmailer

3
推荐指数
1
解决办法
5387
查看次数

PHPSpreadsheet 从单元格中的文本读取样式

我有以下单元格数据:

bla bla bla abcd efgh ijkl

注意,abcd是粗体,efgh是斜体,同时ijkl是粗体和斜体。

我想读取整个单元格的数据,并将其保存在数据库中,以便我可以按原样将其呈现给最终用户(意味着使用这些样式)。我搜索了文档,我只能修改这个代码:

$path = $this->get('kernel')->getRootDir() . '/../intrebari.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($path);
$bold = $spreadsheet->getActiveSheet()->getStyle('A3')->getFont()->getBold();
Run Code Online (Sandbox Code Playgroud)

但它的问题在于,这仅在整个单元格文本为粗体时才有效,在我的情况下,只有一部分为粗体。

有谁知道如何解决这个问题?谢谢!

php phpspreadsheet

2
推荐指数
1
解决办法
3062
查看次数

MySQL错误:1064

我有以下PHP代码:

try{
    $stmt = $db->prepare('SELECT nume,prenume FROM candidati');
    $stmt->execute();
    while($row = $stmt->fetch(PDO::FETCH_OBJ)){
        $aux = $row->nume.' '.$row->prenume;
        $st = $db->prepare('SELECT COUNT(id) AS total FROM votanti WHERE consiliul_local=?');
        $st->execute(array($aux));
        while($r = $st->fetch(PDO::FETCH_OBJ)){
            $s = $db->prepare("INSERT INTO rezultate SET obtinute=:o WHERE nume=:n AND prenume=:p");
            $s->bindParam(':o',$r->total,PDO::PARAM_INT);
            $s->bindParam(':n',$row->nume,PDO::PARAM_STR);
            $s->bindParam(':p',$row->prenume,PDO::PARAM_STR);
            $s->execute();
        }
    }
} catch(PDOException $e){
    echo $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud)

以下课程:

class DB{
    public static function connect($engine,$host,$user,$pass,$name){
        try{
            $dbh = new PDO("$engine:host=$host;dbname=$name;charset=utf8",$user,$pass);
            $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
            $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
            return $dbh;
        } catch(PDOException $e){
            echo $e->getMessage();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我执行第一段代码时,它会发送以下错误消息:

SQLSTATE [42000]:语法错误或访问冲突:1064 …

php mysql sql mysql-error-1064

0
推荐指数
1
解决办法
85
查看次数