Php 操作数应包含1列-通过复制同一表中的行

Php 操作数应包含1列-通过复制同一表中的行,php,mysql,Php,Mysql,我想通过选择除id之外的所有列(即autoincrements),在同一个表中复制一行 $stmt = $db->query( "insert into banners (date, src, pos, format, inde, link) select (date, src, pos, format, inde, link) from banners where id = " . $id); $id是一个整数(选中) 错误: 操作数应包含1列。 有什

我想通过选择除
id
之外的所有列(即
autoincrement
s),在同一个表中复制一行

   $stmt = $db->query(
    "insert into banners (date, src, pos, format, inde, link) 
    select (date, src, pos, format, inde, link) from banners 
    where id = " . $id);
$id
是一个整数(选中)

错误:
操作数应包含1列。


有什么帮助吗?

正确的语法没有括号:

insert into banners (date, src, pos, format, inde, link) 
select date, src, pos, format, inde, link from banners 
where id = ?

(也可以尝试在查询中使用带有占位符的准备语句)

正确的语法没有括号:

insert into banners (date, src, pos, format, inde, link) 
select date, src, pos, format, inde, link from banners 
where id = ?

(也试着在查询中使用带有占位符的准备语句)

谢谢,现在没有错误,但该行根本没有被复制,你知道-为什么吗?你放在问号位置(或通过准备语句提供)的ID是否存在?谢谢,现在没有错误,但该行根本没有被复制,你知道为什么吗?你放在问号位置的ID(或通过准备好的声明提供的)存在吗?