这里php函数
(阅读评论等后更新)
是的,$db
在函数之外定义
$db = new PDO("mysql:host={$dbhost};dbname={$dbname};charset=utf8", $dbuser, $dbpass//, array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
function vatRates () {
$something = "test";
echo $something;
try {
$query_select_date = "SELECT CurrencyRate FROM 2013Currencies WHERE DateOfCurrencyRate = '2001-03-23'";
$sql_select_date = $db->prepare($query_select_date);
$sql_select_date->execute();
$data_select_date = $sql_select_date->fetchAll(PDO::FETCH_ASSOC);
}
catch (PDOException $e){
echo "<br>DataBase Error: " .$e->getMessage();
}
catch (Exception $e) {
echo "General Error: ".$e->getMessage() .'<br>';
}
foreach ($data_select_date as $data) {
echo($data[CurrencyRate]);
}
}
然后调用函数vatRates();
在输出中只得到一个词:test from $something
。并且之后的php代码vatRates();
不会执行。
但是如果删除function vatRates () {
并关闭,}
那么 mysql 查询和 foreach 就可以工作。
为什么mysql查询和foreach在函数内部不起作用(需要纠正什么)?