php - SQLSTATE[42S22] : Column not found: 1054 Unknown column

标签 php mysql sql pdo

我正在尝试使用 PDO 向 MySQL 中插入一条记录,我的 sql 语句可以在以下代码中看到。

<?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();
        }
?>

执行此代码时,我遇到以下错误消息;

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'John' in 'field list'

这无疑是解决这个问题的一个简单方法,但我似乎看不到它,任何人都可以指出我正确的方向吗?

最佳答案

我相信这是因为您正在为您的值使用反引号。将它们更改为单引号,你应该很好

$sql = "INSERT INTO `saved_holidays` (`subscriberID`, `link`, `pubDate`, `title`, `description`) 
            VALUES ('John', '$currentFav->link', '$currentFav->pubDate', '$currentFav->title', '$currentFav->description')";

请引用to this SO question about single quotes versus backticks如果你想了解更多信息

关于php - SQLSTATE[42S22] : Column not found: 1054 Unknown column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10129120/

相关文章:

mysql - 加载文件 infile 期间生成随机字段

php - 如何提高频繁插入率的MySQL查询性能?

再次执行 fetch_assoc() 后的 php mysql 结果

c# - 如何检查表中是否存在值,如果存在则删除它?

php - 搜索项目时出现 Magento 错误

php - 从 MySQL 中的文本区域插入多行/列

php - 如何从数据库获取超链接

mysql - 如何选择重复项以获得正确的结果?

PHP 5.3.8、JSON 和 CentOS 6

javascript - 使用 PHP 创建动态过滤器列表 使用 JS 搜索它们