Warum erhalte ich die Fehlermeldung „Eingefügte Werteliste stimmt nicht mit Spaltenliste überein: 1136 Spaltenanzahl stimmt nicht mit Wertanzahl überein', wenn die Daten übereinstimmen?
P粉561323975
P粉561323975 2024-03-26 12:34:51
0
2
398

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粉561323975
P粉561323975

Antworte allen(2)
P粉268284930

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

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage