失败INSERT查询

时间:2017-01-12 11:04:13

标签: php mysql sql

当我运行下面的代码时,我总是收到以下错误:

  

致命错误:查询失败! SQL:INSERT INTO' tc420' (' ModeName&#39 ;,   ' Datei',' Wassertyp',' K1Laenge',' K1Farben',' K1Mode',' K2Laenge& #39 ;,   ' K2Farben',' K2Mode',' K3Laenge',' K3Farben',' K3Mode',' K4Laenge& #39 ;,   ' K4Farben',' K4Mode',' K5Laenge',' K5Farben',' K5Mode',   ' Beschreibung','截图',' Erstelltvon',' BenutzernameAQF',   ' Kontakt')价值观('测试','',' Suesswasser'。,0.5,' Warmweiss'。 ,   ' Fade'。,0.5,' Warmweiss'。,' Fade'。,0.5,' Warmweiss'。,' Fade&# 39;。,0.5,   ' Warmweiss'。,' Fade'。,0.5,' Warmweiss'。,' Fade'。,' test' ,'',   ' test'。,' test',' test@test.ch'。,)    - 错误:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获得正确的语法   靠近' tc420' (' ModeName',' Datei',' Wassertyp',' K1Laenge',   ' K1Farben',' K1Mo'在/home/*********/mysqli_schreiben.php的第1行   在第86行"

我认为首先,因为我使用了'而不是我改为"最后但并非最不重要的是我什么都没写:-)什么是错的?

<?php
$db_host = "*******";
$db_user = "****";
$db_pass = "***";
$db_name = "schaerh_tc420";

if (isset( $_POST['eintragen'] ))
{
    // Maskierende Slashes aus POST entfernen
    $_POST = get_magic_quotes_gpc() ? array_map( 'stripslashes', $_POST ) : $_POST;
    // Inhalte der Felder aus POST holen
    $ModeName = $_POST["ModeName"];
    $Datei = $_POST["Datei"];
    $Wassertyp = $_POST["Wassertyp"];

    $K1Laenge = $_POST["K1Laenge"];
    $K1Farben = $_POST["K1Farben"];
    $K1Mode = $_POST["K1Mode"];

    $K2Laenge = $_POST["K2Laenge"];
    $K2Farben = $_POST["K2Farben"];
    $K2Mode = $_POST["K2Mode"];

    $K3Laenge = $_POST["K3Laenge"];
    $K3Farben = $_POST["K3Farben"];
    $K3Mode = $_POST["K3Mode"];

    $K4Laenge = $_POST["K4Laenge"];
    $K4Farben = $_POST["K4Farben"];
    $K4Mode = $_POST["K4Mode"];

    $K5Laenge = $_POST["K5Laenge"];
    $K5Farben = $_POST["K5Farben"];
    $K5Mode = $_POST["K5Mode"];

    $Beschreibung = $_POST["Beschreibung"];
    $Screenshot = $_POST["Screenshot"];
    $Erstelltvon = $_POST["Erstelltvon"];
    $BenutzernameAQF = $_POST["BenutzernameAQF"];
    $Kontakt = $_POST["Kontakt"];
    /* ************************************************************************************************ */
    /* *** Hier sollten und MUESSEN die Benutzereingaben geprueft werden um Schadcode abzufangen!!! *** */
    /* ************************************************************************************************ */
// Sind alle Eingaben durch die Validierung gekommen werden sie in die DB geschrieben
// Verbindung oeffnen und Datenbank ausweahlen

$conID = mysqli_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
    if ($conID)
    {
    mysqli_select_db($conID, $db_name);
    }

// Anfrage zusammenstellen der an die DB geschickt werden soll
    $sql = "INSERT INTO 'tc420'
                ('ModeName', 'Datei', 'Wassertyp', 'K1Laenge', 'K1Farben', 'K1Mode', 'K2Laenge', 'K2Farben', 'K2Mode', 'K3Laenge', 'K3Farben', 'K3Mode', 'K4Laenge', 'K4Farben', 'K4Mode', 'K5Laenge', 'K5Farben', 'K5Mode', 'Beschreibung', 'Screenshot', 'Erstelltvon', 'BenutzernameAQF', 'Kontakt')
            VALUES(
                '" .mysqli_real_escape_string($conID, $ModeName ). "',
                '" .mysqli_real_escape_string($conID, $Datei ). "',
                '" .mysqli_real_escape_string($conID, $Wassertyp )."'.,

                " .$K1Laenge. ",
                '" .mysqli_real_escape_string($conID, $K1Farben )."'.,
                '" .mysqli_real_escape_string($conID, $K1Mode )."'.,

                " .$K2Laenge. ",
                '" .mysqli_real_escape_string($conID, $K2Farben )."'.,
                '" .mysqli_real_escape_string($conID, $K2Mode )."'.,

                " .$K3Laenge. ",
                '" .mysqli_real_escape_string($conID, $K3Farben )."'.,
                '" .mysqli_real_escape_string($conID, $K3Mode )."'.,

                " .$K4Laenge. ",
                '" .mysqli_real_escape_string($conID, $K4Farben )."'.,
                '" .mysqli_real_escape_string($conID, $K4Mode )."'.,

                " .$K5Laenge. ",
                '" .mysqli_real_escape_string($conID, $K5Farben )."'.,
                '" .mysqli_real_escape_string($conID, $K5Mode )."'.,

                '" .mysqli_real_escape_string($conID, $Beschreibung )."',
                '" .mysqli_real_escape_string($conID, $Screenshot ). "',
                '" .mysqli_real_escape_string($conID, $Erstelltvon )."'.,
                '" .mysqli_real_escape_string($conID, $BenutzernameAQF). "',
                '" .mysqli_real_escape_string($conID, $Kontakt )."'.,)";

// Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
    mysqli_query( $conID, $sql) OR
    trigger_error("Query Failed! SQL: $sql - Error: ".mysqli_error($conID), E_USER_ERROR);

// Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
    if (mysqli_affected_rows($conID) == 1)
    {
        echo "<h3>Der Datensatz wurde hinzugefügt!</h3>";
        // Hier kann weiterer Code stehen der ausgefuehrt werden soll
        // wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken
        // der ueber den neuen Eintrag informiert
    }
    else
    {
        echo "<h3>Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!</h3>";
        // Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren
        // wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken
        // damit er sich um den Fehler kuemmern kann, etc pp
    }
}
?>

2 个答案:

答案 0 :(得分:1)

查询中有很多错误:

  1. 不要对列名或表名使用引号
  2. VALUES('test','','Suesswasser'。,0.5,'Warmweiss'。,'Fade'。,
  3. 删除。 (点)在列值中的单引号后出现

    再试一次

答案 1 :(得分:-1)

哇,伙计们,你的速度:-)谢谢,谢谢,谢谢。 我已经完成了所有的tipps(删除了点和引号)。但不幸的是,我现在收到了以下错误:

语法错误,意外情况&#39;&#34;&#39;,&#39; (T_CONSTANT_ENCAPSED_STRING)在第56行的/ home / ****** /mysqli_schreiben.php中

但必须有逗号,对吗?

    $sql = "INSERT INTO tc420
                (ModeName, Datei, Wassertyp, K1Laenge, K1Farben, K1Mode, K2Laenge, K2Farben, K2Mode, K3Laenge, K3Farben, K3Mode, K4Laenge, K4Farben, K4Mode, K5Laenge, K5Farben, K5Mode, Beschreibung, Screenshot, Erstelltvon, BenutzernameAQF, Kontakt)
            VALUES(
                '" .mysqli_real_escape_string($conID, $ModeName ). "',
                '" .mysqli_real_escape_string($conID, $Datei ). "',
                '" .mysqli_real_escape_string($conID, $Wassertyp )."',

                " .$K1Laenge. ",
                '" .mysqli_real_escape_string($conID, $K1Farben )."',
                '" .mysqli_real_escape_string($conID, $K1Mode )."',

                " .$K2Laenge. ",
                '" .mysqli_real_escape_string($conID, $K2Farben )."',
                '" .mysqli_real_escape_string($conID, $K2Mode )."',

                " .$K3Laenge. ",
                '" .mysqli_real_escape_string($conID, $K3Farben )."',
                '" .mysqli_real_escape_string($conID, $K3Mode )."',

                " .$K4Laenge. ",
                '" .mysqli_real_escape_string($conID, $K4Farben )."',
                '" .mysqli_real_escape_string($conID, $K4Mode )."',

                " .$K5Laenge. ",
                '" .mysqli_real_escape_string($conID, $K5Farben )."',
                '" .mysqli_real_escape_string($conID, $K5Mode )."',

                '" .mysqli_real_escape_string($conID, $Beschreibung ). "',
                '" .mysqli_real_escape_string($conID, $Screenshot ). "',
                '" .mysqli_real_escape_string($conID, $Erstelltvon )."',
                '" .mysqli_real_escape_string($conID, $BenutzernameAQF ). "',
                '" .mysqli_real_escape_string($conID, $Kontakt )."',)";
    // Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
    mysqli_query( $conID, $sql) OR
    trigger_error("Query Failed! SQL: $sql - Error: ".mysqli_error($conID), E_USER_ERROR);
    // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
    if (mysqli_affected_rows($conID) == 1)
    {
        echo "<h3>Der Datensatz wurde hinzugefügt!</h3>";
        // Hier kann weiterer Code stehen der ausgefuehrt werden soll
        // wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken
        // der ueber den neuen Eintrag informiert
    }
    else
    {
        echo "<h3>Der Datensatz konnte <strong>nicht</strong> hinzugefügt werden!</h3>";
        // Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren
        // wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken
        // damit er sich um den Fehler kuemmern kann, etc pp
    }
}
?>