我已将自定义PHP应用程序从Linux VPS迁移到Windows Azure网站,似乎唯一的问题是用SendGrid替换PHP_mail。目前,该应用程序完全从头开始编写,没有任何框架,并使用MySQL进行数据存储。迁移应用程序时,我创建了一个.sql文件,并使用MySQL Workbench在我的新数据库服务器上创建表。
我发现的问题是我可以使用当前用户登录,但是,我无法成功更新表。没有迹象表明应用程序添加了另一行。但是,该应用程序就像是成功一样,并继续成为“成功”页面。但是,由于没有创建用户,因此不会创建新会话。
我可以在两个数据库之间区分的是原始表名在新数据库服务器上有大写字母,它们都是小写表名。
我尝试过从5.4开始上下改变PHP版本,并且我没有对代码中的MySQL语句进行任何修改。
根据您的经验,我该怎么做才能帮助我找到问题?
编辑:
以下是应该更新数据服务器的文件部分:
<?php
session_start();
// store session data
if ($_SESSION['employerID']<>'') {
header("Location: account_details.php");
}
if (($_POST["fname"]<>"") && ($_POST["email"]<>"")) {
include ("config/config.php");
getConnect();
$stmt = "insert into tblemployer (shortCode,company, fName, lName,email,address,city,state,zip,password) values ('".mysql_escape_string($_POST["shortCode"])."','".mysql_escape_string($_POST["company"])."','".mysql_escape_string($_POST["fname"])."','".mysql_escape_string($_POST["lname"])."','".mysql_escape_string($_POST["email"])."','".mysql_escape_string($_POST["address"])."','".mysql_escape_string($_POST["city"])."','".mysql_escape_string($_POST["state"])."','".mysql_escape_string($_POST["zip"])."','".md5($_POST["password"])."')";
//echo $stmt;
$query = mysql_query($stmt);
$EID=mysql_insert_id();
$_SESSION['employerID']=$EID;
$_SESSION['userName']=$_POST["company"];
$stmt = "insert into tblmembership (status, employerID, membershipID) values ('0','".$EID."','".mysql_escape_string($_POST["membership"])."')";
//echo $stmt;
$_SESSION['MID']=$_POST["membership"];
$query = mysql_query($stmt);
header( 'Location: corp_payment.php' ) ;
}
?>
答案 0 :(得分:0)
我显然不知道为什么,但是我没有使用Windows Azure,而是将相同的代码(没有SendGrid)迁移到OpenShift,它按预期工作。
这是IIS重写问题吗?