php
  • mariadb
  • 2017-03-23 2 views -1 likes 
    -1
    if (isset($_POST['update'])) { 
    
        $column=(isset($_POST['column'])); 
    
        $type= (isset($_POST['type'])); 
    
        $value= (isset($_POST['value'])); 
    
        mysql_query("UPDATE `combo1` SET column = '$column', type = '$type' ,value ='$value' WHERE id = '$id'"); 
    } 
    

    Die Update-Abfrage nicht funktioniert ich immer bin nicht das, was die Lösung ist mir bitte helfen, dieses ProblemUpdate-Abfrage gibt MariaDB Version Fehler

    You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'column = '', type = '' ,value ='' WHERE id = '20'' at line 1

    +0

    Es ist klar, dass man nicht Variablenwert – C2486

    +0

    werden immer in Ich bin nicht dein Punkt, erklären Sie bitte Detail –

    +0

    Sie erhalten leere Werte für '$ column',' $ und '$ Baumuster zur value' – C2486

    Antwort

    0

    isset() Methode gibt boolean Wertänderung zu überwinden wie diese

    $column = isset($_POST['column']) ? $_POST['column']:""; 
    

    Das Gleiche gilt für andere

    +0

    Vielen Dank für Ihre Mühe geben und schnelle Antwort, aber dieser Code funktioniert nicht für mich, ich denke hier Problem gibt es mit Update-Abfrage ..... –

    +0

    @shrutiAkki: welche Fehler Sie bekommen? – C2486

    +0

    Sie haben einen Fehler in Ihrer SQL-Syntax; Sie in die Bedienungsanleitung zu Ihrer MariaDB Server-Version für die richtige Syntax entspricht in der Nähe von 'column = ' verwenden', type = '', value =' 'WHERE '20'' id = at line 1 –

    0

    Ihren Code wie folgt ändern:

    if (isset($_POST['update'])) { 
    
        $column = $_POST['column']; 
        $type = $_POST['type']; 
        $value = $_POST['value']; 
    
        mysql_query("UPDATE `combo1` SET column = '$column', type = '$type' ,value ='$value' WHERE id = '$id'"); 
    } 
    

    Wenn Sie die isset() Methode entfernen (siehe diese link, wenn Sie mehr über die isset() Methode wollen), wie ich oben gegeben habe, die Texte innerhalb $column, $type und $value direkt in den Update-String ersetzt werden.

    Update-Zeichenfolge enthält keine Syntaxfehler in diesem Fall. Weitere Informationen finden Sie unter link.

    empfehle ich Ihnen auch auf SQL injection nachlesen, wie diese Art der Parameterübergabe an Hacking-Versuche anfällig ist, wenn Sie die Daten nicht sanieren verwendet: MySQL - SQL Injection Prevention

    +0

    Vielen Dank, ich werde es jetzt versuchen –

    +0

    @yasgum: Fehlermeldung kommt nicht, aber Werte aktualisieren nicht –

    +0

    Versuchen Sie 'Echo' $ ID '; ',' Echo' $ Spalte '; '' Echo' $ Typ '; ' und 'echo '$ value';' kurz vor dem 'mysql_query()' Aufruf, um zu prüfen, ob sie leer sind. – yasgun

    0

    Die Fehlermeldung hat so gut wie nichts mit dem zu tun, 'Ausführung'. Es ist ein Syntaxfehler, der sich über "Spalte" beschwert. Dieses Wort ist ein reserved word. Da Sie anscheinend die Spalte column aufgerufen haben, setzen Sie Backtitics um, genau wie Sie es für den Tabellennamen getan haben.

    0

    mysqli_query ($ link "UPDATE combo1 SET column = '$ column', type = '$ type', value = '$ value' WHERE id = '$ id'") oder sterben (mysqli_error (link $));

    Verwandte Themen