suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Warum erhalte ich die Fehlermeldung „Eingefügte Werteliste stimmt nicht mit Spaltenliste überein: 1136 Spaltenanzahl stimmt nicht mit Wertanzahl überein“, wenn die Daten übereinstimmen?

Ich erhalte die obige Fehlermeldung, aber die Anzahl der Spalten und der Daten, die ich einfüge, beträgt 19

try {
    $db = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "INSERT INTO prescriptions (
        rxID, rxPrimeName, rxAltName, patient, prescriber, dpp, dppMetric, totalDailyDosage, 
        totalDailyPills, frequency, freqMetric, am, noon, pm, bed, prn, pharmacy, lastFill, pills
        )
    VALUES 
        (
        '$rxID', '$drugName1', '$drugName2', '$patient', '$prescriber', '$dpp', '$metric', '$totalDailyDosage,
        $totalDailyPills', '$quantity', '$frequency', '$am', '$noon', '$pm', '$bed', '$prn', '$pharmacy', '$lastFill', '$pills'
        )";
    $db->exec($sql);
    echo "New record created successfully";
} catch (PDOException $e) {
    echo $sql . "<br>" . $e->getMessage();
}
$db = null;

Das ist genau der Fehler, den ich erhalte:

INSERTprescriptions ( rxID, rxPrimeName, rxAltName, 病人, prescriber, dpp, phpcn cphpcndppMetric、totalDailyDosagetotalDailyPills频率freqMetricamnoon pm phpcnendc phpcn、bedprnpharmacylastFillpills ) VALUES('1111111', 'Test1', 'Test2', 'Jordan', 'Test3', '50', 'mg', '100, 2', '1', 'BID' , '1 ', '1', '0' , '0', '0', 'KJdh', '2022-04-15', '60') SQLSTATE[21S01]: Die eingefügte Werteliste stimmt nicht mit der Spaltenliste überein: 1136 Die Spaltenanzahl stimmt nicht mit der Wertanzahl in Zeile 1 überein

Beide Seiten (INSERT INTOVALUES) haben 19

Wenn ich phpMyAdmin zum Einfügen von Daten verwende, werden folgende Ergebnisse zurückgegeben:

EINFÜGENprescriptionskeyIDrxIDrxPrimeNamerxAltName病人prescriber,phpcnc phpcndppdppMetrictotalDailyDosagetotalDailyPills频率freqMetricamnoonphpcnendc phpcn、pmbedprnpharmacylastFillpills) WERTE (NULL, '1234567', 'Test1', 'Test2', 'Jordan', 'Test3', '30', 'mg', '60', '2', '1', 'BID ', '1', ' 1', '0', '0', '0', 'Atrium', '2022-04-15', '60');

Bitte entschuldigen Sie den Block bei den Spaltennamen oben – ich habe backquote

um die Spaltennamen herum verwendet

phpMyAdmin funktioniert großartig Ja, ich weiß, dass die variablen Daten unterschiedlich sind, aber alle akzeptierten Typen sind spaltenbasiert

P粉561323975P粉561323975246 Tage vor380

Antworte allen(2)Ich werde antworten

  • P粉268284930

    P粉2682849302024-03-27 09:59:03

    问题是您的 values 子句缺少引号:

    VALUES 
    (
    '$rxID', '$drugName1', '$drugName2', '$patient', '$prescriber', '$dpp', '$metric',
    '$totalDailyDosage, <-- missing quote before comma
    -->> missing quote --> $totalDailyPills', 
    '$quantity', '$frequency', '$am', '$noon', '$pm', '$bed', '$prn', '$pharmacy', '$lastFill', '$pills'
    )";

    Antwort
    0
  • P粉665679053

    P粉6656790532024-03-27 00:05:56

    我数了一下,有18个。 看起来您在“100, 2”处缺少 ',

    Antwort
    0
  • StornierenAntwort