如何使用php变量创建表名

如何使用php变量创建表名,php,mysql,Php,Mysql,我需要根据每个用户的ID创建一个表,它存储在$ID中。因此每个用户都有自己的日历 对于用户#23,创建的日历将是表“calendar23” 因此,我使用: $id = 23; CREATE TABLE calendar$id (....... 但它不起作用,我做错了什么 提前谢谢 古乔你可能会错过任何一件小事。试试这个 $id = "table23"; // Create table $sql="CREATE TABLE Persons".$id."(FirstName CHAR(30),L

我需要根据每个用户的ID创建一个表,它存储在$ID中。因此每个用户都有自己的日历

对于用户#23,创建的日历将是表“calendar23”

因此,我使用:

$id = 23;

CREATE TABLE calendar$id (.......
但它不起作用,我做错了什么

提前谢谢


古乔

你可能会错过任何一件小事。试试这个

$id = "table23";
// Create table
$sql="CREATE TABLE Persons".$id."(FirstName CHAR(30),LastName CHAR(30),Age INT)";

// Execute query
if (mysqli_query($con,$sql))
  {
  echo "Table persons created successfully";
  }
else
  {
  echo "Error creating table: " . mysqli_error($con);
  }

如果这一战略真的是正确的方法,请再想一想。它忽略了关系数据库管理系统的好处。而是为所有用户使用一个表,并用每个用户id标记条目。这样,您的sql语句变得更加简单和安全

如果你真的想坚持你的方法,那么你必须准备以下声明:

$sql_stmt = sprintf('CREATE TABLE calendar%s (.......)', $id);
但这仍然是非常不安全的,因为它非常容易受到sql注入攻击。阅读准备好的语句并使用mysqli或PDO扩展