2014-09-13 19 views
-1

正在初始化變量這是數據庫在php中創建表的正確函數嗎?

<? php 
$host = 'localhost'; 
$user = 'root'; 
$pword = ''; 
$dbname = 'mydb'; 
$tablename = 'userdata'; 
$con = mysqli_connect($host, $user, $pword); 

這是創建表函數的正確的代碼?( 假設我們已經連接到數據庫)

function createtable($tablename) { 

    $con = mysqli_connect($host, $user, $pword); 
    $sql = "CREATE TABLE IF NOT EXISTS 
     $tablename(uid int(10) unsigned NOT NULL AUTO_INCREMENT, 
     firstname char(60), 
     lastname char(60), 
     username varchar(60), 
     password varchar(60), 
     gender enum('male','female') NOT NULL, 
     course set('PHP','HTML','CSS','Javascript'), 
     comments longtext, 
     PRIMARY KEY(uid) 
    )"; 
if (mysqli_query($con,$sql)) 
{ 
echo "Table created."; 
} 
else 
{ 
echo "Error in creating table."; 
}  
} 

?>

+1

爲[代碼審查]也許更好(http://codereview.stackexchange.com) – Dan 2014-09-13 17:12:35

+0

沒有,爲什麼你需要一個函數,在每個呼叫 – 2014-09-13 17:13:39

+0

@FerozAkbar堂妹創建相同的表,如果它不存在 – 2014-09-13 17:25:58

回答

2

變化不大。只是建議通過$con & $tablename參數到createtable()並最後調用createtable()函數。

$host = 'localhost'; 
$user = 'root'; 
$pword = ''; 
$dbname = 'mydb'; 
$tablename = 'userdata'; 
$con = mysqli_connect($host, $user, $pword, $dbname); 
function createtable($con, $tablename) { 
//mysqli_connect($host, $user, $pword); 
$sql = "CREATE TABLE IF NOT EXISTS 
    $tablename(uid int(10) unsigned NOT NULL AUTO_INCREMENT, 
    firstname char(60), 
    lastname char(60), 
    username varchar(60), 
    password varchar(60), 
    gender enum('male','female') NOT NULL, 
    course set('PHP','HTML','CSS','Javascript'), 
    comments longtext, 
    PRIMARY KEY(uid) 
)"; 
$result = mysqli_query($con,$sql); 
if($result){echo "Table created.";} 
else{echo mysqli_error($con);} 
} 
createtable($con, $tablename); 
+0

非常感謝 – 2014-09-13 17:23:28

相關問題