Php 如何在函数中写入常数?

Php 如何在函数中写入常数?,php,function,constants,Php,Function,Constants,我想将C:\test.sqlite定义为一个常量 function insert_data($array){ $dbh=new PDO('sqlite:C:\test.sqlite'); $sql = "INSERT INTO quote (symbol,price) VALUES (?,?)"; $q = $dbh->prepare($sql); $q->execute($array); $dbh=null; } 但是我不能在函数ins

我想将
C:\test.sqlite
定义为一个常量

function insert_data($array){
    $dbh=new PDO('sqlite:C:\test.sqlite');
    $sql = "INSERT INTO quote (symbol,price) VALUES (?,?)";
    $q = $dbh->prepare($sql);
    $q->execute($array);
    $dbh=null;
}  
但是我不能在函数insert_data中使用常量

define('db_name','C:\test.sqlite');
出现错误:

function insert_data($array){
    $dbh=new PDO("sqlite:db_name");
    $sql = "INSERT INTO quote (symbol,price) VALUES (?,?)";
    $q = $dbh->prepare($sql);
    $q->execute($array);
    $dbh=null;
} 
我不想按以下格式编写函数:

Fatal error: Call to a member function execute() on a non-object in....

如何修复它?

定义变量-
$db='C:\test.sqlite'

并使其成为全球的

 function insert_data($array,$db){
    $dbh=new PDO("sqlite:{$db}");
    $sql = "INSERT INTO quote (symbol,price) VALUES (?,?)";
    $q = $dbh->prepare($sql);
    $q->execute($array);
    $dbh=null;
} 

为什么不使用
global
?在函数外部使用全局变量
$db\u name='C:\test.sqlite'
function insert_data($array){
    global $db;
    $dbh=new PDO("sqlite:{$db}");
    $sql = "INSERT INTO quote (symbol,price) VALUES (?,?)";
    $q = $dbh->prepare($sql);
    $q->execute($array);
    $dbh=null;
}