Я работаю на веб-сайте с PHP и MySQL, сначала я использую XAMPP для предварительного просмотра моего сайта, здесь все работает нормально (версия XAMPP PHP - 5.7), проблема в том, что когда я загрузил через FTP содержимое своего сайта, запросы INSERT
и UPDATE
не работают над моими PHP-скриптами.Запросы MySQL INSERT и UPDATE, не работающие с PHP 5.2.17
Я прочитал несколько статей о проблемах совместимости между обеими версиями, FTP-сервер использует PHP 5.2.17.
Запросы SELECT
работают нормально на сервере, поэтому вход в базу данных не является проблемой.
Это мой код, используя UPDATE
:
include_once 'db_post.php';
$mysqli = new mysqli(DATA_HOST, DATA_USER, DATA_PASSWORD, DATA_DATABASE);
$catTitle = mysqli_real_escape_string($mysqli, $_POST['catName']);
$catDesc = mysqli_real_escape_string($mysqli, $_POST['catDesc']);
$catID = mysqli_real_escape_string($mysqli, $_GET['ID']); // I get this in the redirection, the value isn't in the POST form
$cT = "UPDATE categorias SET NombreCat = '$catTitle', DescripcionCat = '$catDesc', ImagenCat = 'no_image.png' WHERE IDCat = $catID";
if ($mysqli->query($cT) === TRUE) { header("Location: ../management.php?Action=ManageCategories&Edit=Successful"); }
else { header("Location: ../management.php?Action=ManageCategories&Edit=Error"); }
Перенаправление проходит через ошибки и ничего не сохраняется в базе данных.
Другая информация о моей БД заключается в том, что я использую InnoDB вместо MyISAM, который предположительно рекомендуется в phpMyAdmin.
Кроме того, когда я пытаюсь вставить строку, нет запроса:
include_once 'db_post.php';
$mysqli = new mysqli(DATA_HOST, DATA_USER, DATA_PASSWORD, DATA_DATABASE);
$catTitle = mysqli_real_escape_string($mysqli, $_POST['catName']);
$catDesc = mysqli_real_escape_string($mysqli, $_POST['catDesc']);
$cT = "INSERT INTO categorias (IDCat, NombreCat, DescripcionCat, ImagenCat) VALUES (null, '$catTitle', '$catDesc', 'no_image.png')";
if ($mysqli->query($cT) === TRUE) { header("Location: ../management.php?Action=ManageCategories&Add=Successful"); }
else { header("Location: ../management.php?Action=ManageCategories&Add=Error"); }
Таким образом, вопрос, который является правильной формой для запроса в MySQL в этой версии PHP?
Какая ошибка MySQL дает вам в качестве причины для этого не удается? –
Почему вы используете 10-летнюю версию PHP? Это просто попрошайка, чтобы ваш сайт был взломан. Это и вставка пользовательских данных в вашу базу данных без проверки ... – miken32
@ miken32 владельцы хостинг-серверов не хотят обновлять свой PHP, я не могу сделать это из своего дома. :( –