我没有创建这些列名,因为它们是通过上传CSV文件创建的 作为' COL 1' ' COL 2'
connect();
global $db;
$sql = $db->prepare("UPDATE table1 SET 'COL 1'=:c1 where table1_id=:id");
$sql->bindParam(':id',$arry['id'],PDO::PARAM_STR, 12);
$sql->bindParam(':c1',$arry['t1'],PDO::PARAM_STR, 12);
try
{
$sql->execute();
}
catch(PDOException $e)
{
echo($e);
}
显示的错误是
例外' PDOException' with message' SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;查看与您的MySQL服务器版本相对应的手册,以便在#1;&= 39; DDEE'附近使用正确的语法。 table1_id =' 5''在第1行'在C:\ wamp \ www \ excelsheets \ functions.php:109堆栈跟踪:#0 C:\ wamp \ www \ excelsheets \ functions.php(109):PDOStatement-> execute()#1 C:\ wamp \ www \ excelsheets \ save4.php(4):save4_update(数组)#2 {main}
我知道我们无法使用''准备好的声明中的单引号 那我怎么能代表一个中间有空格的列?
答案 0 :(得分:2)
MySQL中的转义字符是后引号(或后退标记)。以下是它的外观示例:
UPDATE table1
SET `COL 1` = :c1
where table1_id = :id