初始化PHP类时出现500服务器错误
我正在写一个数据库来更好地管理我们的客户。 显示客户端数据的逻辑完美无瑕 处理方法调用的类称为“kunde” 这就是我初始化类并调用方法以获取结果数组的方式:初始化PHP类时出现500服务器错误,php,jquery,sql-server,ajax,Php,Jquery,Sql Server,Ajax,我正在写一个数据库来更好地管理我们的客户。 显示客户端数据的逻辑完美无瑕 处理方法调用的类称为“kunde” 这就是我初始化类并调用方法以获取结果数组的方式: $showAllgemeineKundendaten = new kunde(); $result_array = $showAllgemeineKundendaten -> show_client_kundendaten($_SESSION['id'], 1); 我使用结果数组来显示内容,但这与我的问题有点离题 现在我正在编写在
$showAllgemeineKundendaten = new kunde();
$result_array = $showAllgemeineKundendaten -> show_client_kundendaten($_SESSION['id'], 1);
我使用结果数组来显示内容,但这与我的问题有点离题
现在我正在编写在另一个php文档中向数据库插入新客户机的逻辑,在php文件中初始化类“kunde”时,我不断收到500服务器错误。
我目前正在使用ajax向本文档发送帖子:
$gehrKundennummer = 0;
$kundenklasse = 0;
$lkw12t = 0;
$lkw3t = 0;
$autobus = 0;
$firmenname1 = 0;
$firmenname2 = 0;
$uidnummer = 0;
$peselregon = 0;
$firmenart = 0;
$strasse = 0;
$ort = 0;
$plz = 0;
$land = 0;
$gehrKundennummer = $_POST[0];
$kundenklasse = $_POST[1];
$lkw12t = $_POST[2];
$lkw3t = $_POST[3];
$autobus = $_POST[4];
$firmenname1 = $_POST[5];
$firmenname2 = $_POST[6];
$uidnummer = $_POST[7];
$peselregon = $_POST[8];
$firmenart = $_POST[9];
$strasse = $_POST[10];
$ort = $_POST[11];
$plz = $_POST[12];
$land = $_POST[13];
$data = array($gehrKundennummer, $kundenKlasse, $lkw12t, $lkw3t, $autobus, $firmenname1, $firmenname2, $uidnummer, $peselregon, $firmenart, $strasse, $ort, $plz, $land);
$insert = new kunde();
$insert -> insert_client($data, 1);
注意当表单以经典方式发送到该php文件时,也会发生500服务器错误
我的类和插入方法就是这样的:
class kunde {
public function insert_client($data, $case){
$serverName = "SERVERNAME\MSSQLSRV";
$connectionInfo = array('Database'=>'TEST', "UID"=>"TEST", "PWD"=>"TEST");
$conn = sqlsrv_connect($serverName, $connectionInfo);
switch ($case) {
case 1:
$gehrKundennummer = $data[0];
$kundenklasse = $data[1];
$lkw12t = $data[2];
$lkw3t = $data[3];
$autobus = $data[4];
$firmenname1 = $data[5];
$firmenname2 = $data[6];
$uidnummer = $data[7];
$peselregon = $data[8];
$firmenart = $data[9];
$strasse = $data[10];
$ort = $data[11];
$plz = $data[12];
$land = $data[13];
$angelegt_am = date();
$tsql = "INSERT INTO Kundendaten$ (gehr_kundennummer, kundenklasse_ID, firmenname1, firmenname2, firmenart, strasse, land, plz, ort, pesel_regon, uid, lkw12t, lkw3t, autobus, angelegt_am)
VALUES ('$gehrKundennummer', '$kundenklasse', '$firmenname1', '$firmenname2', '$firmenart', '$strasse', '$land', '$plz', '$ort', '$peselregon', '$lkw12t', '$lkw3t', '$autobus', '$angelegt_am')";
break;
default:
# code...
break;
}
$stmt = sqlsrv_query($conn, $tsql);
echo "done";
}
// REST OF THE CLASS
}
当我尝试初始化该类时,控制台中出现以下错误:
POST http://#########/logic/add_client_logic.php 500 (Internal Server Error)jquery-1.11.2.min.js:4 m.ajaxTransport.sendjquery-1.11.2.min.js:4 m.extend.ajaxadd_client.js:21 (anonymous function)jquery-1.11.2.min.js:3 m.event.dispatchjquery-1.11.2.min.js:3 m.event.add.r.handle
我是阿贾克斯的新手,所以也许我在那里做错了什么
这就是我的js文件内容:
$(function (){
var $allgSubmit = $('#allg_firmendaten_submit');
$allgSubmit.click(function(){
alert('clicked');
event.preventDefault();
var gehrKundennummer = $('#gehrKundennummer').val();
var kundenklasse = $("input[type='radio'][name='kundenklasse']:checked").val();
var lkw12t = $('#lkw12t').val();
var lkw3t = $('#lkw3t').val();
var autobus = $('#autobus').val();
var firmenname1 = $('#firmenname1').val();
var firmenname2 = $('#firmenname2').val();
var uidnummer = $('#uidnummer').val();
var peselregon = $('#peselregon').val();
var firmenart = $('#firmenart option:selected').val();
var strasse = $('#strasse').val();
var ort = $('#ort').val();
var plz = $('#plz').val();
var land = $('#land').val();
var allgArray = [ gehrKundennummer, kundenklasse, lkw12t, lkw3t, autobus, firmenname1, firmenname2, uidnummer, peselregon, firmenart, strasse, ort, plz, land ];
$.ajax({
url: "http://########/logic/add_client_logic.php",
type: "POST",
data: $allgArray,
success: function(){
var $allgSave = $('#allgSave');
$allgSave.toggle();
},
error: function(){
alert('fail');
}
});
});
});
已解决 问题很简单,我责怪自己打扰了你们 由于我的逻辑文件位于作用域之外,因此在初始化它之前从未包含该类==服务器错误
我只是在执行我的逻辑文件之前包含了这个类,现在它就可以工作了。500错误将写入错误日志。查看错误日志或
ini\u集(“显示错误”,1)代码>(如果不是在生产中)。另外,Javascript不需要变量声明使用$
;已经在我的index.php中找到错误日志了吗?如果您使用的是apache2,并且没有在php中设置自定义位置,那么它将位于/var/log/apache2/error.log
。如果您真的有一个名为Kundendaten$
的表?我不确定mysql表的确切规则,但您至少需要在字符串中转义它。我正在使用windows server 2012(因此我不知道错误日志在哪里)安装SQL,我正在使用SQLSRV扩展与服务器通信我已将excel工作表导入数据库,这就是它为什么变得重要的原因——它看起来很奇怪,但当我试图从表中读取数据时,它会起作用