当数据匹配时,为什么我会收到'插入值列表与列列表不匹配:1136 列计数与值计数不匹配”错误?
P粉561323975
P粉561323975 2024-03-26 12:34:51
0
2
401

我收到上述错误,但我要插入的列和数据的计数均为 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;

这是我收到的确切错误:

插入 prescriptions ( rxID, rxPrimeName, rxAltName, 病人, prescriber, dpp, phpcn cphpcndppMetric、totalDailyDosagetotalDailyPills频率freqMetricamnoon pm phpcnendc phpcn、bedprnpharmacylastFillpills ) 值 ('1111111' , '测试1', '测试2', '乔丹', '测试3', '50', '毫克', '100, 2', '1', 'BID', '1', '1', '0' , '0', '0', 'KJdh', '2022-04-15', '60') SQLSTATE[21S01]:插入值列表与列列表不匹配:1136 列计数与第 1 行的值计数不匹配

双方(INSERT INTOVALUES)都有 19

当我使用 phpMyAdmin 插入数据时,返回的结果如下:

插入prescriptionskeyIDrxIDrxPrimeNamerxAltName病人prescriber,phpcnc phpcndppdppMetrictotalDailyDosagetotalDailyPills频率freqMetricamnoonphpcnendc phpcn、pmbedprnpharmacylastFillpills) 值 (NULL , '1234567', '测试1', '测试2', '乔丹', '测试3', '30', '毫克', '60', '2', '1', 'BID', '1', ' 1', '0', '0', '0', '中庭', '2022-04-15', '60');

请原谅上面列名称上的块 - 我在列名称周围使用 backquote

phpMyAdmin 工作得很好是的,我知道变量数据是不同的,但所有可接受的类型都基于列

P粉561323975
P粉561323975

全部回复(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”处缺少 ',

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板