Pourquoi est-ce que j'obtiens l'erreur « La liste de valeurs insérées ne correspond pas à la liste de colonnes : 1136 Le nombre de colonnes ne correspond pas au nombre de valeurs » lorsque les données correspondent ?
P粉561323975
P粉561323975 2024-03-26 12:34:51
0
2
399

Je reçois l'erreur ci-dessus mais le nombre de colonnes et de données que j'insère est de 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;

C'est exactement l'erreur que j'obtiens :

INSERTprescriptions ( rxID, rxPrimeName, rxAltName, 病人, prescriber, dpp, phpcn cphpcndppMetric、totalDailyDosagetotalDailyPills频率freqMetricamnoon pm phpcnendc phpcn、bedprnpharmacylastFillpills) VALEURS('1111111', 'Test1', 'Test2', 'Jordan', 'Test3', '50', 'mg', '100, 2', '1', 'BID' , '1 ', '1', '0' , '0', '0', 'KJdh', '2022-04-15', '60') SQLSTATE[21S01] : La liste des valeurs insérées ne correspond pas à la liste des colonnes : 1136 Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1

Les deux côtés (INSERT INTOVALUES) en ont 19

Lorsque j'utilise phpMyAdmin pour insérer des données, les résultats renvoyés sont les suivants :

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

Veuillez excuser le blocage sur les noms de colonnes ci-dessus - j'ai utilisé backquote

autour des noms de colonnes

phpMyAdmin fonctionne très bien Oui, je sais que les données variables sont différentes mais tous les types acceptés sont basés sur des colonnes

P粉561323975
P粉561323975

répondre à tous(2)
P粉268284930

Le problème est qu'il manque des guillemets dans votre clause 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

J'ai compté, il y en a 18. On dirait qu'il te manque 'à "100, 2",

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal