根据大多数编程语言范围规则,我可以访问在其中的函数外部定义的变量,但为什么这段代码不起作用?
<?php
$data = 'My data';
function menugen(){
echo "[".$data."]";
}
menugen();
?>
Run Code Online (Sandbox Code Playgroud)
有[]输出.
这是我的PDO课程的一部分.我需要使用utf-8希伯来语,但当我设置ATTR_PERSISTENT为true输出文本将显示??????如果我切换ATTR_PERSISTENT到false输出将是正确的.
public function __construct() {
// Set DSN
$dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;
// Set options
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_PERSISTENT => true
);
// Create a new PDO instanace
try {
$this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
}
// Catch any errors
catch (PDOException $e) {
$this->error = $e->getMessage();
}
}
Run Code Online (Sandbox Code Playgroud)
之间是否有任何冲突:
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET …Run Code Online (Sandbox Code Playgroud)