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;
}