2013-08-16 24 views
-2

我需要根據每個用戶的ID創建一個表,其存儲在$ id中。所以每個用戶都有自己的日曆。如何使用php變量創建表名

對於創建將表 「calendar23」 用戶#23日曆,

所以即時通訊使用:

$id = 23; 

CREATE TABLE calendar$id (....... 

,但其沒有工作,什麼林做錯了什麼?

在此先感謝

Gucho

回答

0

你可能會錯過任何一件小事。嘗試這個。

$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); 
    } 
1

再想一想,如果這種策略真的是正確的做法。它忽略了關係數據庫管理系統的好處。而是爲所有用戶使用單個表格,並分別用用戶標識標記條目。這樣你的sql語句變得更加簡單和安全。

如果你真的想堅持自己的做法,那麼你就必須準備語句:

$sql_stmt = sprintf('CREATE TABLE calendar%s (.......)', $id); 

但是,這仍然是非常不安全的,因爲它是SQL注入攻擊敞開的。閱讀有關準備好的語句,並使用mysqli或PDO擴展。