我需要根據每個用戶的ID創建一個表,其存儲在$ id中。所以每個用戶都有自己的日曆。如何使用php變量創建表名
對於創建將表 「calendar23」 用戶#23日曆,
所以即時通訊使用:
$id = 23;
CREATE TABLE calendar$id (.......
,但其沒有工作,什麼林做錯了什麼?
在此先感謝
Gucho
我需要根據每個用戶的ID創建一個表,其存儲在$ id中。所以每個用戶都有自己的日曆。如何使用php變量創建表名
對於創建將表 「calendar23」 用戶#23日曆,
所以即時通訊使用:
$id = 23;
CREATE TABLE calendar$id (.......
,但其沒有工作,什麼林做錯了什麼?
在此先感謝
Gucho
你可能會錯過任何一件小事。嘗試這個。
$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);
}
再想一想,如果這種策略真的是正確的做法。它忽略了關係數據庫管理系統的好處。而是爲所有用戶使用單個表格,並分別用用戶標識標記條目。這樣你的sql語句變得更加簡單和安全。
如果你真的想堅持自己的做法,那麼你就必須準備語句:
$sql_stmt = sprintf('CREATE TABLE calendar%s (.......)', $id);
但是,這仍然是非常不安全的,因爲它是SQL注入攻擊敞開的。閱讀有關準備好的語句,並使用mysqli或PDO擴展。