Php 更新MySQL时的迁移问题
我已经将一个定制PHP应用程序从Linux VPS迁移到了Windows Azure网站,唯一的问题似乎是用SendGrid替换PHP_mail。目前,该应用程序完全是从头开始编写的,没有任何框架,并使用MySQL进行数据存储。迁移应用程序时,我创建了一个.sql文件,并使用MySQL Workbench在我的新数据库服务器上创建表 我发现的问题是,我可以使用当前用户登录,但无法成功更新表。没有应用程序添加另一行的迹象。但是,应用程序的行为就好像它是成功的一样,并继续显示“成功”页面。但是,由于没有创建用户,因此不会创建新会话 我可以看出这两个数据库之间的区别是,原始表名有一个大写字母,而在新的db服务器上,它们都是小写的表名 我已经尝试过从5.4上下更改PHP版本,但没有对代码中的MySQL语句进行任何修改 根据你的经验,我能做些什么来帮助我发现问题 编辑: 以下是应更新数据服务器的文件部分:Php 更新MySQL时的迁移问题,php,mysql,iis,azure,Php,Mysql,Iis,Azure,我已经将一个定制PHP应用程序从Linux VPS迁移到了Windows Azure网站,唯一的问题似乎是用SendGrid替换PHP_mail。目前,该应用程序完全是从头开始编写的,没有任何框架,并使用MySQL进行数据存储。迁移应用程序时,我创建了一个.sql文件,并使用MySQL Workbench在我的新数据库服务器上创建表 我发现的问题是,我可以使用当前用户登录,但无法成功更新表。没有应用程序添加另一行的迹象。但是,应用程序的行为就好像它是成功的一样,并继续显示“成功”页面。但是,由于
<?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' ) ;
}
?>
我显然不知道为什么,但我将相同的代码(不带SendGrid)迁移到了OpenShift,而不是Windows Azure,并且按照预期工作
这是IIS重写问题吗?只需尝试将ClearDB表中的字母大小写更改为与旧表完全相同的大小写。我会看看会发生什么,但当您可以检索信息但无法更新信息时,为什么大小写会很重要?编辑:ClearDB被配置为只允许小写的表名。到目前为止我还没有尝试ClearDB。只是一个建议,看看是否会有任何改变!