Rumah  >  Soal Jawab  >  teks badan

Mengapakah saya mendapat ralat "Senarai nilai yang dimasukkan tidak sepadan dengan senarai lajur: 1136 Kiraan lajur tidak sepadan dengan kiraan nilai" apabila data sepadan?

Saya mendapat ralat di atas tetapi kiraan kedua-dua lajur dan data yang saya masukkan ialah 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;

Ini adalah ralat tepat yang saya dapat:

INSERTprescriptions ( rxID, rxPrimeName, rxAltName, 病人, prescriber, dpp, phpcn cphpcndppMetric、totalDailyDosagetotalDailyPills频率freqMetricamnoon pm phpcnendc phpcn、bedprnpharmacylastFillpills ) NILAI('1111111', 'Test1', 'Test2', 'Jordan', 'Test3', '50', 'mg', '100, 2', '1', 'BID' , '1 ', '1', '0' , '0', '0', 'KJdh', '2022-04-15', '60') SQLSTATE[21S01]: Senarai nilai yang dimasukkan tidak sepadan dengan senarai lajur: 1136 Kiraan lajur tidak sepadan dengan kiraan nilai pada baris 1

Kedua-dua belah (INSERT INTOVALUES) mempunyai 19

Apabila saya menggunakan phpMyAdmin untuk memasukkan data, keputusan yang dikembalikan adalah seperti berikut:

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

Sila maafkan blok pada nama lajur di atas - Saya menggunakan backquote

di sekitar nama lajur

phpMyAdmin berfungsi hebat Ya saya tahu data pembolehubah adalah berbeza tetapi semua jenis yang diterima adalah berdasarkan lajur

P粉561323975P粉561323975230 hari yang lalu368

membalas semua(2)saya akan balas

  • P粉268284930

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

    Masalahnya ialah klausa values anda tiada petikan:

    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'
    )";

    balas
    0
  • P粉665679053

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

    Saya kira, ada 18. Nampaknya anda tiada ' di "100, 2",

    balas
    0
  • Batalbalas