MySQL UPDATE с AJAX и PHP не работает в одном из двух случаев

Я пытаюсь обновить таблицу mysql с помощью сценария AJAX и php, но я все еще получаю сообщение "304 Не изменено". Я искал много вопросов здесь, а также искал его с помощью Google, но безуспешно... Я на 100% уверен, что все переменные отправлены с AJAX и получены PHP в правильной форме, я проверил это так:

$tabulka=$_SESSION["uzivatel"];
$slovensky=testVstupov($_POST["slovensky"]);
$prelozene=testVstupov($_POST["prelozene"]);
$druh=testVstupov($_POST["druh"]);
$lekcia=testVstupov($_POST["lekcia"]);
$reset=testVstupov($_POST["reset"]);
$id=testVstupov($_POST["id"]);
$nula=0;
//echo $tabulka."#".$slovensky."#".prelozene."#".$druh."#".$lekcia."#".$reset."#".$id."#".$nula;

function testVstupov($data)
{
    $data=trim($data);
    $data=stripslashes($data);
    $data=htmlspecialchars($data);
    return $data;
}

это эхо просто чтобы убедиться, что все переменные заполнены с правильным значением

Затем я пытаюсь обновить таблицу, но в результате появляется сообщение 304, переменная $hodnoty возвращается пустой:

$pripojenie=mysqli_connect("localhost","user","password","database");

if (mysqli_connect_errno($pripojenie))
{
echo "Zlyhalo pripojenie do databázy: ".mysqli_connect_error();
}
if($reset == "false")
{
    $hodnoty = mysqli_query($pripojenie, "UPDATE `$tabulka` SET slovensky=$slovensky, preklad=$prelozene, druh=$druh, lekcia=$lekcia WHERE id='$id'");
}

if(mysqli_error()) 
{ 
die('Zápis do databázy sa nepodaril. Chyba: ' . mysqli_error() ); //skjurajozimy.
}
//ukncenie spojenia s databazou
mysqli_close($pripojenie);

Тот же код в другом файле php, но только для изменения разных столбцов в одной таблице работает. Этот код работает:

$pripojenie=mysqli_connect("localhost","user","password","database");

if (mysqli_connect_errno($pripojenie))
{
echo "Zlyhalo pripojenie do databázy: ".mysqli_connect_error();
}

$vysledok=mysqli_query($pripojenie, "SELECT skusane,spravne FROM `$tabulka` WHERE preklad='$data1'");
if(mysqli_error()) 
{ 
die('Výpis z databázy sa nepodaril. Chyba: ' . mysqli_error() ); //`skjurajozimy`.
}

$hodnoty = mysqli_fetch_array($vysledok);
$noveSkusane = $hodnoty['skusane']+1;
$noveSpravne = $hodnoty['spravne']+$data2;
$uspesnost = round($noveSpravne*$noveSkusane);

$hodnoty = mysqli_query($pripojenie, "UPDATE `$tabulka` SET skusane=$noveSkusane, spravne=$noveSpravne, uspesnost=$uspesnost WHERE preklad='$data1'");
if(mysqli_error()) 
{ 
die('Zápis do databázy sa nepodaril. Chyba: ' . mysqli_error() ); //`skjurajozimy`.
}
//ukncenie spojenia s databazou
mysqli_close($pripojenie);

Столбцы в моей таблице: id словенский прекурд друх лекча скусане справне успешно, где id - автоинкремент.

Пожалуйста, любые предложения, почему обновление кода не работает?

2 ответа

Решение

Наконец, решение проблемы было с галочками и пробелами, поэтому исправьте код здесь:

$hodnoty = mysqli_query($pripojenie, "UPDATE  `$databaza`.`$tabulka` SET  `slovensky` =  '$slovensky',  `preklad` = '$prelozene',  `druh` = '$druh',  `lekcia` = '$lekcia'  WHERE  `$tabulka`.`id` =$id;");

Ты пытался:

header( 'Cache-Control: no-store, no-cache, must-revalidate' ); 
header( 'Pragma: no-cache' ); 

в начале вашей функции PHP?

Другие вопросы по тегам