SQLSTATE[42S22]: Colonne qui n'a pas trouvé: 1054 Unknown column
Je suis tenté d'insérer un enregistrement à MySQL en utilisant PDO, mon instruction sql peut être vu dans le code suivant.
<?php
try{
//include file myfunctions.php allows us to calls functions from it
include ("myfunctions.php");
//Assign function getConnection() from myfunctions.php to variable $db
$db = getConnection();
foreach($_POST['chk'] as $check_value)
{
$check = $check_value;
$fav = "channel/item [title = \"$check\"]";
$holidayDoc = simplexml_load_file('holidays.xml');
$favourites = $holidayDoc->xpath($fav);
foreach($favourites as $currentFav)
{
echo "{$currentFav->link}". "<br \>";
echo "{$currentFav->title}". "<br \>";
echo "{$currentFav->description}". "<br \>";
echo "{$currentFav->pubDate} ". "<br \>";
$sql = "INSERT INTO `saved_holidays` (`subscriberID`, `link`, `pubDate`, `title`, `description`)
VALUES (`John`, `$currentFav->link`, `$currentFav->pubDate`, `$currentFav->title`, `$currentFav->description`)";
$db->exec($sql);
$db = null;
}
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
Lorsque ce code est exécuté, je me suis rencontré avec le message d'erreur suivant;
SQLSTATE[42S22]: Colonne qui n'a pas trouvé: 1054 Unknown column 'Jean' en
'field list'
C'est sans aucun doute une solution simple à ce problème mais je n'arrive pas à le voir, quelqu'un peut me pointer dans la bonne direction?
Vous devez vous connecter pour publier un commentaire.
Je crois que c'est parce que vous êtes à l'aide de backticks pour vos valeurs. Modifier les guillemets simples et vous devriez être bon
Veuillez vous référer pour cela DONC, la question à propos des guillemets simples contre backticks si vous souhaitez plus d'informations
Utiliser "pour les champs et utiliser" pour les valeurs
` est pour la spécification des champs, vous devez utiliser des guillemets simples
'
pour les valeurs.Pour quelqu'un d'autre de la difficulté avec cela, c'est pourquoi j'ai vu ce message d'erreur et comment je l'ai résolu:
Tout ce que vous avez à faire est d'aller à votre table et ajoutez la Colonne (pour moi c'était dans phpmyadmin que je l'ai fait).
À partir du message d'erreur que j'ai reçu, j'ai pu en déduire qu'elle a été 'propriétés' de la table qui avait besoin de la colonne supplémentaire pricing_formula. Il suffit d'insérer cette colonne directement dans la DB.
Pour la référence, c'était mon message d'erreur:
Espère que cela aide quelqu'un. Si quelqu'un continue à ne pas bien savoir comment résoudre ce problème, mais pense à mon explication décrit leur problème, contactez - je vais essayer de vous aider à le résoudre.
Aussi pour info, c'était un Laravel backend projet d'un rapporteur d'angle frontal.