recherche

Maison  >  Questions et réponses  >  le corps du texte

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 ?

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粉561323975P粉561323975317 Il y a quelques jours506

répondre à tous(2)je répondrai

  • P粉268284930

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

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

    répondre
    0
  • P粉665679053

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

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

    répondre
    0
  • Annulerrépondre