Php 致命错误:调用未定义的函数availableDate()
当我试图运行这个程序时,出现了这个错误,这意味着什么Php 致命错误:调用未定义的函数availableDate(),php,sql,Php,Sql,当我试图运行这个程序时,出现了这个错误,这意味着什么 if(isset($_POST['submit'])) { $date = $_POST['date']; $partySize = $_POST['partysize']; $catering = $_POST['catering']; print_r($date); print_r($partySize); print_r($cate
if(isset($_POST['submit']))
{
$date = $_POST['date'];
$partySize = $_POST['partysize'];
$catering = $_POST['catering'];
print_r($date);
print_r($partySize);
print_r($catering);
include "/diska/www/include/coa123-13-connect.php";
$host='co-project.lboro.ac.uk';
$dbName='coa123wdb';
$dsn = "mysql://$username1:$password1@$host/$dbName"; //Data Source Name
require_once('MDB2.php'); //Just include this line into your program - you do not have to have the source in your directory
$db =& MDB2::connect($dsn); //Try to make a connection
if (PEAR::isError($db)) {
die($db->getMessage());
}
//step 1 - query
$sql = "SELECT * FROM venue
WHERE capacity >= $partySize";
//step 2 - executing the query
$result =& $db->query($sql);
if (PEAR::isError($sql)) {
die($result->getMessage());
}
$valueIDArray = array();
while($row = $result -> fetchrow()){
$valueIDArray[] = $row[0];
}
$values = implode(',', $valueIDArray);
$query = "SELECT * FROM venue_booking
WHERE venue_id IN ($values)";
//step 2 - executing the query
$result1 =& $db->query($query);
if (PEAR::isError($query)) {
die($result1->getMessage());
}
while($row = $result1 -> fetchrow()){
$idValue[] = $row[0];
$dateValues[] = $row[1];
}
availableDate($dateValues,$date,$idValue, $db); //Line error points to
function availableDate($bookedDates, $date, $idValue, $db){
我已经在错误指向的行中指出,该文件在其自己的PHP文件中工作,但在if(isset($\u POST['submit'])语句中不工作。我做错了什么?如果必须在
if
语句中定义它,请在定义后调用availableDate
前
编辑:
条件语句内部定义的非工作函数示例
if(1){
func('a');
function func($a){
echo $a;
}
}
这不起作用,但这将:
if(1){
function func($a){
echo $a;
}
func('a');
}
将函数定义移到
if
语句之外。这样做几乎没有什么好的理由——唯一的借口可能是,如果你想根据条件对函数进行不同的定义,但这似乎不是你要做的。如果在If
中定义函数,则必须在调用它之前定义它;顶层定义的函数可以从任何地方调用。这不重要。它是PHP@asprin你自己试试吧,这很重要这是新的。让我试试。@asprin它对有条件声明的函数(即,在if
中)很重要。我在这里很困惑。条件声明函数?这是小提琴,帮你解释一下
if(1){
function func($a){
echo $a;
}
func('a');
}