+ Antworten
Ergebnis 1 bis 9 von 9

Thema: SQL-Fehlermeldung

  1. #1
    Neu an Board Avatar von TTInsider1981
    Registriert seit
    25.01.2011
    Ort
    Saarland
    Beiträge
    9
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard SQL-Fehlermeldung

    Hallo Leute,
    hab ein Problem und zwar hab ich immer so ne SQL-Fehlermeldung, ganz oben in einem roten Kasten. Bekommt man diese weg? Will meine eigene Meldung machen. Hab schon im php-forum geschrieben, da wurde gesagt, wird an Joomla liegen bzw. dann eben an der Komponente Chronoforms. Im Anhang hab ich mal ein Bild dabei.

    Hier mal den Code:

    PHP-Code:
    <?php
    $query
    "SELECT count(*) FROM jos_chronoforms_vereine_hinzufuegen WHERE Vereinsnummer='" $input_Vereinsnummer "';";
    $resultmysql_query($query);
    $row mysql_fetch_array($result);
    if ( 
    $row[0] == )
    {
    return 
    "Code zum einfügen des Vereins!";
    }
    else
    {
    return 
    "Vereinsnummer ist bereits vorhanden!";

    ?>
    Mit diesem Code, kommt die eigene Fehlermeldung in den roten Kasten. Will dies aber nicht, will eher ne msgbox. Hab dies auch schon per javascript soweit hinbekommen gehabt, aber rote Kasten war immer noch da... Hoffe ihr wisst, wie ich den deaktivieren kann.

    Grüße

    TTInsider1981
    Angehängte Grafiken

  2. #2
    Hat hier eine Zweitwohnung Avatar von Some1new
    Registriert seit
    18.05.2005
    Ort
    Buest nich unt 'n Norden is dat schwer to verstohn.
    Beiträge
    1.424
    Bedankte sich
    259
    Erhielt 301 Danksagungen
    in 250 Beiträgen

    Standard

    Adhoc würde ich sagen, dass in der Query das Statement zuviele Zeichen enthält.

    Versuch es mal indem Du das ';" vor dem abschliessendem ; löscht.

    Gruß
    Some1new
    Geändert von Some1new (24.02.2011 um 21:18 Uhr)
    SUCHEN ist keine Stadt in Deutschland, sondern eine TOLLE Funktion in diesem Forum.
    Fahren Sie mich irgendwohin, ich werde überall gebraucht, denn "Es iss ja, wie´s iss!".
    Woher kommt mein Nickname? - some1new by escobar

  3. #3
    Neu an Board Avatar von TTInsider1981
    Registriert seit
    25.01.2011
    Ort
    Saarland
    Beiträge
    9
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    So hab das ; weggemacht, leider keine Änderung.

    Grüße

    TTInsider1981

  4. #4
    Hat hier eine Zweitwohnung Avatar von Some1new
    Registriert seit
    18.05.2005
    Ort
    Buest nich unt 'n Norden is dat schwer to verstohn.
    Beiträge
    1.424
    Bedankte sich
    259
    Erhielt 301 Danksagungen
    in 250 Beiträgen

    Standard

    Also,

    um mal die Fehlerquellen einzugrenzen, die Query sollte korrekt so aussehen:
    Code:
    $query= 'SELECT count(*) FROM jos_chronoforms_vereine_hinzufuegen WHERE Vereinsnummer='" . $input_Vereinsnummer . "';
    Aus Deinem Code Teil ist leider nicht ersichtbar woher das "insert" kommt.

    Die Fehlermeldung bezieht sich auf den store Teil eines Inserts.
    Dein Code zeigt aber nur einen SELECT.

    Gruß
    Some1new
    Geändert von Some1new (24.02.2011 um 21:28 Uhr)
    SUCHEN ist keine Stadt in Deutschland, sondern eine TOLLE Funktion in diesem Forum.
    Fahren Sie mich irgendwohin, ich werde überall gebraucht, denn "Es iss ja, wie´s iss!".
    Woher kommt mein Nickname? - some1new by escobar

  5. #5
    Wohnt hier Avatar von Joomla-Hilfe
    Registriert seit
    12.08.2010
    Beiträge
    3.668
    Bedankte sich
    78
    Erhielt 1.094 Danksagungen
    in 874 Beiträgen

    Standard

    Das Feld uid in der Tabelle muß auf auto_increment stehen. Das fehlt.
    Danke?

    Keine Macht den Facebutts!
    "Dinner for one ist jeden Tag" oder "Und täglich grüßt das Murmeltier"

  6. #6
    Neu an Board Avatar von TTInsider1981
    Registriert seit
    25.01.2011
    Ort
    Saarland
    Beiträge
    9
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Ein "Insert" hab ich niergenswo drin. Ich denke eher das dann der Fehler bei chronoforms irgendwo ist. Dort kann ich Validation etc anklicken, aber wenn ich auch alles auf no mache, dann kommt immer noch diese Fehlermeldung...
    Falls das alles nichts hilft mit der Fehlersuche, kann man eigene php-Dateien bzw. auch html-Dateien hinzufuegen bzw. selber schreiber in Joomla?

    Grüße

    TTInsider1981

  7. #7
    Neu an Board Avatar von TTInsider1981
    Registriert seit
    25.01.2011
    Ort
    Saarland
    Beiträge
    9
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Ich hab es hinbekommen. Ich muss Chronoforms sagen, dass Chronoforms selbst nicht auf die Datenbank zugreifen soll, das muss man alles selbst machen, also per Code.
    Nun zum Code:
    PHP-Code:
    <?php
    $query
    "SELECT count(*) FROM jos_chronoforms_vereine_hinzufuegen WHERE vereinsnummer='" $vereinsnummer "'";
    $resultmysql_query($query);
    $row mysql_fetch_array($result);
    if ( 
    $row[0] == )
    {
     
    $vereinsnummer $_POST['vereinsnummer'];

     if (!
    $vereinsnummer) { echo 'Sie haben nicht alle notwendigen Details eingegeben.';
      exit;
     }

    $db = new mysqli('localhost''xxx''xxx''xxx');

    if (
    mysqli_connect_errno()) {
      echo 
    'Fehler: Verbindung zur Datenbank nicht möglich. Versuchen Sie es zu einem späteren Zeitpunkt wieder.';
      exit;
     }

    $query1 "insert into jos_chronoforms_vereine_hinzufuegen values ('" $vereinsnummer "')";
    $result1 $db->query($query1);
    if (
    $result1)
      echo 
    $db->affected_rows ' Verein erfolgreich in die Datenbank eingetragen.';
    }
    else
    {
     echo 
    "Vereinsnummer ist bereits vorhanden!";

    ?>
    Irgendwie will er keine Nummer mehr dazu machen. Er sagt, die Nummer wäre schon vorhanden, obwohl diese nicht vorhanden ist. Ich seh momentan nicht den Fehler. Kann mir jemand helfen?

    Grüße

    TTInsider1981

  8. #8
    Wohnt hier Avatar von Joomla-Hilfe
    Registriert seit
    12.08.2010
    Beiträge
    3.668
    Bedankte sich
    78
    Erhielt 1.094 Danksagungen
    in 874 Beiträgen
    Danke?

    Keine Macht den Facebutts!
    "Dinner for one ist jeden Tag" oder "Und täglich grüßt das Murmeltier"

  9. #9
    Moderator Avatar von Lacki
    Registriert seit
    27.04.2006
    Ort
    Direkt um die Ecke
    Beiträge
    8.730
    Bedankte sich
    337
    Erhielt 3.611 Danksagungen
    in 2.970 Beiträgen

    Standard

    Hi.
    Und nebenbei, mit dieser Kombination
    Zitat Zitat von TTInsider1981 Beitrag anzeigen
    PHP-Code:
    <?php 
    ...
     
    $vereinsnummer $_POST['vereinsnummer'];
    ...

    $query1 "insert into jos_chronoforms_vereine_hinzufuegen values ('" $vereinsnummer "')";
    $result1 $db->query($query1);
    ...
    ?>
    hast Du eine riesen Sicherheitslücke aufgemacht, Stichwort SQL-Injection. Jeder Usereingabe ist zu misstrauen - "input ist evil".
    (siehe z. B. hier). Vielleicht infomierst Du Dich erts einmal etwas über entsprechende Sicherheitsmechanismen in PHP-Abfragen.
    Geändert von Lacki (24.02.2011 um 23:57 Uhr)

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein