sql >> Databasteknik >  >> RDS >> Mysql

php + mysql infogningsfel

Jag tog faktiskt dina skript, laddade dem på min server, skapade databastabellen och testade skriptet.

Endast en rad infogas per inlämning.

Ditt skript fungerar korrekt.

Det finns dock ett fel i ditt testförfarande.

Jag kollade också på Firebug-konsolen och AJAX-anropet fungerar som förväntat.

Om du inte har annan diagnostik tror jag inte att jag kan hjälpa dig mer.

Bugvarning
Det finns en bugg i din kod som kommer att orsaka dig enorm sorg i ditt liv under de kommande åren...

if($stmt){
   echo "thank you .we will be in touch soon";
}
else{
    echo "there was an error. try again later.";
}

Denna if uttalande kommer alltid att utvärderas till sant eftersom frågan exekveras (såvida inte MySQL naturligtvis inte körs).

Vad du tänkte är att se om infogningen lyckades, och för det måste du kontrollera:

if($stmt->affected_rows){...}

$stmt->affected_rows returnerar -1 vid misslyckande eller +1 vid framgång.

Felsökningsstrategier
(1) Lägg till ett extra fält i din med en tidsstämpel så att du kan se när posterna är infogade. Detta kommer att ge dig mer insikt i vad som händer.

(2) Töm ditt bord och försök din kod igen. Du kanske tror att du får flera bilagor, men det kan också vara så att du trycker på knappen Skicka fyra gånger.




  1. varför varbinary istället för varchar

  2. Hur man importerar en databas med hjälp av kommandoraden

  3. Hur man bifogar .db-fil med en annan .apk-android

  4. Hämta senaste trådar som användaren inte gick med i