我面临一个让我发疯的问题。我真的不明白。下面是一个非常简单的表创建。我想使用变量来命名表。它不起作用!!!!!如果我用“handwriten”名称替换变量,它可以工作......什么....提前感谢您的回复。干杯。渣。如果我没有提及它,它会让我发疯。
$processid = mysql_thread_id();
mysql_select_db("mydb", $con);
$sql = 'CREATE TABLE '.$processid.'
(
bat_file varchar(255),
bat_file_date datetime,
bat_file_misc varchar(255),
bat_titre varchar(255),
bat_lien varchar(255)
)';
mysql_query($sql,$con);
答案 0 :(得分:2)
mysql_thread_id
的返回值不是valid name for a table,除非您引用它:
MySQL中的某些对象,包括数据库,表,索引, 列,别名,视图,存储过程,分区和其他对象 名称称为标识符。
...
标识符可以以数字开头,但除非引用可能不包含 只是数字。
由于引号字符是反引号,因此如果将其更改为
,它应该有效$sql = 'CREATE TABLE `'.$processid.'` ... ';
我不知道为什么你要创建一个以mysql_thread_id
命名的表(听起来真的腥),但即使有一个很好的理由它可能是一个最好在前面添加一个前缀,这样你就不会每次都引用它。