【发布时间】:2020-03-23 16:53:49
【问题描述】:
我正在做项目制作自动生成数字的 Web 应用程序。我得到这个错误:
注意:未定义变量:第 5 行 C:\xampp\htdocs\bigweb\number_generate.php 中的 getRomawi
致命错误:未捕获错误:函数名称必须是 C:\xampp\htdocs\bigweb\number_generate.php:5 中的字符串:5 堆栈跟踪:#0 C:\xampp\htdocs\bigweb\save.php (3): require_once() #1 {main} 在 C:\xampp\htdocs\bigweb\number_generate.php 第 5 行抛出
我已经在谷歌上搜索过,但我没有找到任何与我的案例完全相同的主题,这里是代码:
number_generate.php
<?php
include "fungsi_romawi.php";
include "save.php";
$month = date('n');
$romawi = $getRomawi($month);
$year = date('Y');
$number = "/YMMI/".$romawi."/".$year;
$query = "SELECT MAX(number_out) as MAXKODE FROM bigdata_admin WHERE month(date_in)='$month'";
$hasil = mysqli_query($query);
$data = mysqli_fetch_array($hasil);
$no = $data['MAXKODE'];
$Gnome = $no+1;
$kode = sprintf("%02s", $Gnome);
$nomerbaru = $kode.$number;
?>'''
这是链接到第一个错误的其他文件,我制作了多个文件 php:
fungsi_romawi.php
<?php
function getRomawi($month)
{
switch($month)
{case '1':
return "I";
break;
case '2':
return "II";
break;
case '3':
return "III";
break;
case '4':
return "IV";
break;
case '5':
return "V";
break;
case '6':
return "VI";
break;
case '7':
return "VII";
break;
case '8':
return "VIII";
break;
case '9':
return "IX";
break;
case '10':
return "X";
break;
case '11':
return "XI";
break;
case '12':
return "XII";
break;}
}
?>
最后是 save.php,它将显示数字:
<?php
if (!empty($_POST['signup']));
require_once "number_generate.php";
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "bigdata";
{
$id_in = (FILTER_VAR($_POST['id_in'], FILTER_SANITIZE_NUMBER_INT));
$name_in = (FILTER_VAR($_POST['name_in'], FILTER_SANITIZE_STRING));
$dept_in = (FILTER_VAR($_POST['dept_in'], FILTER_SANITIZE_STRING));
$information_in = (FILTER_VAR($_POST['information_in'], FILTER_SANITIZE_STRING));
$date_in = $_POST['date_in'];
try
{
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("INSERT INTO bigdata_admin (id_in, name_in, dept_in, information_in, date_in)
VALUES (:id_in, :name_in, :dept_in, :information_in, :date_in)");
$stmt->bindParam(":id_in", $id_in,PDO::PARAM_INT);
$stmt->bindParam(":name_in", $name_in,PDO::PARAM_STR);
$stmt->bindParam(":dept_in", $dept_in,PDO::PARAM_STR);
$stmt->bindParam(":information_in", $information_in,PDO::PARAM_STR);
$stmt->bindParam(":date_in", $date_in,PDO::PARAM_STR);
$stmt->execute();
}
catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
}
$conn = null;
?>
抱歉发帖太长了,任何建议都将不胜感激,非常有帮助
【问题讨论】:
-
$romawi = $getRomawi($month);这就是问题所在,您正在使用 $ 调用函数,因此它被视为变量。删除 $ 并调用类似 getRomawi 的函数
-
感谢您对@PrabhjotSinghKainth 的回复,但我遇到了另一个错误:致命错误:无法在 C 中重新声明 getRomawi()(之前在 C:\xampp\htdocs\bigweb\fungsi_romawi.php:2 中声明) :\xampp\htdocs\bigweb\fungsi_romawi.php 第 43 行
标签: php mysql mysqli pdo fatal-error