2013-10-15 41 views
0

我想用AJAX和PHP腳本更新MySQL表,但我仍然收到「304未修改」的消息。我在這裏搜索了很多問題,也搜索了谷歌,但沒有任何運氣......我100%確定所有變量都與AJAX一起發送並通過PHP以正確的格式接收,我已這樣檢查過:與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); 

collumns是:ID購買slovensky preklad druh lekcia skusane spravne uspesnost,其中id是自動增量。

請有任何建議,爲什麼更新代碼不起作用?

+0

是'在session_start();'所有的文件內,作爲第一線? –

+0

是的,我有,因爲我通過$ _SESSION [「uzivatel」]變量分配表名 –

+0

嘗試'$ hodnoty = mysqli_query($ pripojenie,「UPDATE $ tabulka SET skusane ='$ noveSkusane',spravne ='$ noveSpravne' ,uspesnost ='$ uspesnost'WHERE preklad ='$ data1'「);'SO正在爲反引號操作我,所以將'$ tabulka'放在反引號內並試試。 –

回答

0

最後的解決方案,問題是蜱和空間,所以正確的代碼在這裏:

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

你試過:

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

在你的PHP函數的開始?

+0

我已經添加了這個,但仍然沒有效果 –

相關問題