none
Chyba s MySQLCommand

    Dotaz

  • Ahoj všichni,udělal jsem nový web a teď vytvářím aplikaci pro jeho administraci v C#. Používám třídu MySqlCommand, ale ta mi neustále vrací tuto chybu:

    "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'width: 412px; margin- margin-right: auto; margin-"><img src' at line 1"

    Nevíte někdo co s tím? Padá to na tomto řádku:

    new MySqlCommand("UPDATE csharp SET nazev = \"" + this.title.Text + "\", obsah = \"" + this.content.Text + "\" WHERE id = " + this.id, this.connection).ExecuteNonQuery();

    Myslím si, že je tomu vadí ty uvozovky, ale netuším jak to vyřešit. Nevíte někdo o něčem jako mysql_real_escape_string pro C#? Moc děkuji za pomoc. 

    5. května 2013 8:11

Odpovědi

  • Chtělo by to použít parametry.

    cmd = new MySqlCommand("UPDATE csharp SET nazev=@Nazev, obsah=@Obsah WHERE id=@id", this.connection);
    
    cmd.Parameters.AddWithValue("@Nazev", this.title.Text);
    
    ...
    
    cmd.ExecuteNonQuery();



    Robert Haken, Microsoft MVP ASP.NET/IIS, HAVIT, s.r.o., www.havit.cz, http://knowledge-base.havit.cz

    10. července 2013 14:27
    Moderátor

Všechny reakce

  • Zkoušel jsi místo uvozovek poslat do MySQL apostrofy?

    Co vůbec dělají uvozovky na tomto místě?

    margin-"><img


    JCH

    5. května 2013 10:32
  • Chtělo by to použít parametry.

    cmd = new MySqlCommand("UPDATE csharp SET nazev=@Nazev, obsah=@Obsah WHERE id=@id", this.connection);
    
    cmd.Parameters.AddWithValue("@Nazev", this.title.Text);
    
    ...
    
    cmd.ExecuteNonQuery();



    Robert Haken, Microsoft MVP ASP.NET/IIS, HAVIT, s.r.o., www.havit.cz, http://knowledge-base.havit.cz

    10. července 2013 14:27
    Moderátor