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 :
INSERT
prescriptions
(rxID
,rxPrimeName
,rxAltName
,病人
,prescriber
,dpp
, phpcn cphpcndppMetric、totalDailyDosage
、totalDailyPills
、频率
、freqMetric
、am
、noon
、pm phpcnendc phpcn、
bed
、prn
、pharmacy
、lastFill
、pills
) 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 INTO
和 VALUES
) en ont 19
Lorsque j'utilise phpMyAdmin pour insérer des données, les résultats renvoyés sont les suivants :
INSERT
prescriptions
(keyID
,rxID
,rxPrimeName
,rxAltName
,病人
,prescriber
,phpcnc phpcndpp、dppMetric
、totalDailyDosage
、totalDailyPills
、频率
、freqMetric
、am
、noonphpcnendc phpcn、
pm
、bed
、prn
、pharmacy
、lastFill
、pills
) 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
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
Le problème est qu'il manque des guillemets dans votre clause
values
:J'ai compté, il y en a 18. On dirait qu'il te manque 'à "100, 2",