Я перенесла пользовательское приложение PHP с Linux VPS на веб-сайты Windows Azure, и оказалось, что единственной проблемой была замена PHP_mail на SendGrid. В настоящее время это приложение полностью написано с нуля без каких-либо фреймворков и использует MySQL для хранения данных. При переносе приложения я создал файл .sql и использовал MySQL Workbench для создания таблиц на моем новом сервере базы данных.Проблемы с миграцией Обновление MySQL
Проблема, которую я нахожу, заключается в том, что я могу войти в систему с текущими пользователями, однако я не могу успешно обновить таблицы. Нет знака приложения, добавляющего еще одну строку. Однако приложение действует так, как будто оно было успешным, и продолжает страницу «Успех». Однако новый сеанс не создается, поскольку пользователь не создал пользователя.
Различия, которые я могу рассказать между двумя базами данных, это то, что имена исходных таблиц имели заглавную букву, а на новом сервере db - все имена в нижней строке.
Я попытался изменить версию PHP вверх и вниз с 5.4, и я не вносил никаких изменений в операторы MySQL в коде.
Из вашего опыта, что я могу сделать, чтобы помочь мне найти проблему?
EDIT:
Вот часть файла, который должен быть обновление сервера данных:
<?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') ;
}
?>
Просто попробуйте заменить буквенный футляр в таблицах ClearDB точно так же, как старый. –
Я посмотрю, что произойдет, но почему бы иметь значение, когда вы можете получать информацию, но не можете ее обновить? EDIT: ClearDB настроен только для того, чтобы разрешать имена таблиц в нижнем регистре. –
Я до сих пор не пробовал clearDB. Просто предложение, делает ли это какие-либо изменения! –