sql >> Databáze >  >> RDS >> Mysql

Chyba vložení php + mysql

Vlastně jsem vzal vaše skripty, nahrál je na svůj server, vytvořil databázovou tabulku a otestoval skript.

Na každý příspěvek se vkládá pouze jeden řádek.

Váš skript funguje správně.

Ve vašem testovacím postupu je však chyba.

Zkontroloval jsem také konzolu Firebug a volání AJAX funguje podle očekávání.

Pokud nemáte jinou diagnostiku, myslím, že vám již nemohu pomoci.

Upozornění na chybu
Ve vašem kódu je chyba, která vám v příštích letech způsobí nesmírný zármutek...

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

Toto if příkaz bude vždy vyhodnocen jako pravdivý, protože dotaz je vykonán (pokud samozřejmě MySQL neběží).

Chtěli jste zjistit, zda bylo vložení úspěšné, a proto musíte zkontrolovat:

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

$stmt->affected_rows vrátí -1 při selhání nebo +1 při úspěchu.

Strategie ladění
(1) Přidejte do svého pole další pole s časovým razítkem, abyste viděli, kdy jsou záznamy vloženy. To vám poskytne lepší přehled o tom, co se děje.

(2) Vyprázdněte stůl a zkuste kód znovu. Můžete si myslet, že dostáváte více příloh, ale také se může stát, že jste čtyřikrát stiskli tlačítko Odeslat.




  1. Jak definovat sloupec, který dokáže automatizovat psaní velkých písmen?

  2. Offset řádků v SQL Server

  3. Uživatelské vstupy, vyčistěte a dezinfikujte před odesláním do db

  4. Rozhraní API kalendáře Google :Výběr/Vytváření kalendářů?