尝试执行 php 脚本以将数据传输到之前工作的 mysql 时出错
Error when trying to execute a php script to transfer data in to a mysql that previously worked
我们公司一直在 运行ning 一个 Android 应用程序,它允许将数据输入到 msql 数据库中,它以前运行良好。
我们决定创建一个专用于该任务的服务器,而不是仅仅在我们常用的 FTP 服务器上托管 php 文件,并且还要拆分 mysql 管理员,这样它就不会都与时间和出勤混淆了 databases/tables。
移动脚本时,我重新创建了 mySql databases/tables,但 names/passwords 有所不同。
我在应用程序上将 link 更改为 php 脚本,并在 php 脚本中更改了所有连接信息(用户名、密码等)。
这是目前的样子
<?php
$con=mysqli_connect("localhost","appuser1","Password","VehicleCheckList");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// escape variables for security
$RegNumber = mysqli_real_escape_string($con, $_GET['RegNumber']);
$DriverName = mysqli_real_escape_string($con, $_GET['DriverName']);
$Mileage = mysqli_real_escape_string($con, $_GET['Mileage']);
$Tyres = mysqli_real_escape_string($con, $_GET['Tyres']);
$Windscreen = mysqli_real_escape_string($con, $_GET['Windscreen']);
$Lights = mysqli_real_escape_string($con, $_GET['Lights']);
$Fuel = mysqli_real_escape_string($con, $_GET['Fuel']);
$WarningLights = mysqli_real_escape_string($con, $_GET['WarningLights']);
$BodyWork = mysqli_real_escape_string($con, $_GET['BodyWork']);
$Wheels = mysqli_real_escape_string($con, $_GET['Wheels']);
$Oil = mysqli_real_escape_string($con, $_GET['Oil']);
$TyreWear = mysqli_real_escape_string($con, $_GET['TyreWear']);
$Horn = mysqli_real_escape_string($con, $_GET['Horn']);
$Mirrors = mysqli_real_escape_string($con, $_GET['Mirrors']);
$Cab = mysqli_real_escape_string($con, $_GET['Cab']);
$Boot = mysqli_real_escape_string($con, $_GET['Boot']);
$Seatbelts = mysqli_real_escape_string($con, $_GET['Seatbelts']);
$Noise = mysqli_real_escape_string($con, $_GET['Noise']);
$Comments = mysqli_real_escape_string($con, $_GET['Comments']);
$Date = mysqli_real_escape_string($con, $_GET['Date']);
$Agreement = mysqli_real_escape_string($con, $_GET['Agreement']);
$Initials = mysqli_real_escape_string($con, $_GET['Initials']);
$sql="INSERT INTO vcform1 (RegNumber, DriverName, Mileage, Tyres, Windscreen, Lights, Fuel, WarningLights, BodyWork, Wheels, Oil, TyreWear, Horn, Mirrors, Cab, Boot, Seatbelts, Noise, Comments, Date, Agreement, Initials)
VALUES ('$RegNumber', '$DriverName', '$Mileage', '$Tyres', '$Windscreen', '$Lights', '$Fuel', '$WarningLights', '$BodyWork', '$Wheels', '$Oil', '$TyreWear', '$Horn', '$Mirrors', '$Cab', '$Boot', '$Seatbelts', '$Noise', '$Comments', '$Date', '$Agreement', '$Initials')";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
虽然它不会工作,但当我尝试将 运行 一个 html 表单输入到脚本中时,我收到以下错误;
Fatal error: Call to undefined function mysqli_connect() in /home/appacmefg/public_html/App_Files/VehicleCheckList/vcform1.php on line 2
有人能帮帮我吗?
提前致谢。
您没有安装 MySQLi 扩展。如何安装取决于您的 OS/distribution。如果你使用某种 Linux,你的包管理器可能有它的包(即 apt-get install php5-mysql; 或 yum install php-mysql)
对于 windows 上的 PHP 5.3+,它应该默认启用:
http://www.php.net/manual/en/mysqli.installation.php#mysqli.installation.windows
我们公司一直在 运行ning 一个 Android 应用程序,它允许将数据输入到 msql 数据库中,它以前运行良好。 我们决定创建一个专用于该任务的服务器,而不是仅仅在我们常用的 FTP 服务器上托管 php 文件,并且还要拆分 mysql 管理员,这样它就不会都与时间和出勤混淆了 databases/tables。 移动脚本时,我重新创建了 mySql databases/tables,但 names/passwords 有所不同。 我在应用程序上将 link 更改为 php 脚本,并在 php 脚本中更改了所有连接信息(用户名、密码等)。
这是目前的样子
<?php
$con=mysqli_connect("localhost","appuser1","Password","VehicleCheckList");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// escape variables for security
$RegNumber = mysqli_real_escape_string($con, $_GET['RegNumber']);
$DriverName = mysqli_real_escape_string($con, $_GET['DriverName']);
$Mileage = mysqli_real_escape_string($con, $_GET['Mileage']);
$Tyres = mysqli_real_escape_string($con, $_GET['Tyres']);
$Windscreen = mysqli_real_escape_string($con, $_GET['Windscreen']);
$Lights = mysqli_real_escape_string($con, $_GET['Lights']);
$Fuel = mysqli_real_escape_string($con, $_GET['Fuel']);
$WarningLights = mysqli_real_escape_string($con, $_GET['WarningLights']);
$BodyWork = mysqli_real_escape_string($con, $_GET['BodyWork']);
$Wheels = mysqli_real_escape_string($con, $_GET['Wheels']);
$Oil = mysqli_real_escape_string($con, $_GET['Oil']);
$TyreWear = mysqli_real_escape_string($con, $_GET['TyreWear']);
$Horn = mysqli_real_escape_string($con, $_GET['Horn']);
$Mirrors = mysqli_real_escape_string($con, $_GET['Mirrors']);
$Cab = mysqli_real_escape_string($con, $_GET['Cab']);
$Boot = mysqli_real_escape_string($con, $_GET['Boot']);
$Seatbelts = mysqli_real_escape_string($con, $_GET['Seatbelts']);
$Noise = mysqli_real_escape_string($con, $_GET['Noise']);
$Comments = mysqli_real_escape_string($con, $_GET['Comments']);
$Date = mysqli_real_escape_string($con, $_GET['Date']);
$Agreement = mysqli_real_escape_string($con, $_GET['Agreement']);
$Initials = mysqli_real_escape_string($con, $_GET['Initials']);
$sql="INSERT INTO vcform1 (RegNumber, DriverName, Mileage, Tyres, Windscreen, Lights, Fuel, WarningLights, BodyWork, Wheels, Oil, TyreWear, Horn, Mirrors, Cab, Boot, Seatbelts, Noise, Comments, Date, Agreement, Initials)
VALUES ('$RegNumber', '$DriverName', '$Mileage', '$Tyres', '$Windscreen', '$Lights', '$Fuel', '$WarningLights', '$BodyWork', '$Wheels', '$Oil', '$TyreWear', '$Horn', '$Mirrors', '$Cab', '$Boot', '$Seatbelts', '$Noise', '$Comments', '$Date', '$Agreement', '$Initials')";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
虽然它不会工作,但当我尝试将 运行 一个 html 表单输入到脚本中时,我收到以下错误;
Fatal error: Call to undefined function mysqli_connect() in /home/appacmefg/public_html/App_Files/VehicleCheckList/vcform1.php on line 2
有人能帮帮我吗? 提前致谢。
您没有安装 MySQLi 扩展。如何安装取决于您的 OS/distribution。如果你使用某种 Linux,你的包管理器可能有它的包(即 apt-get install php5-mysql; 或 yum install php-mysql)
对于 windows 上的 PHP 5.3+,它应该默认启用:
http://www.php.net/manual/en/mysqli.installation.php#mysqli.installation.windows