PHP 進階(四)MySQL

PHP 進階(四)MySQL

MySQL 這個只要學習計算機的都知道

下面直接我說  PHP數據庫常用的API函數和例子

連接一個MYSQL

在 PHP 中,這個任務通過 mysql_connect() 函數完成。
mysql_connect(servername,username,password);
$con = mysql_connect("localhost","peter","abc123");

關閉連接

腳本一結束,就會關閉連接,如需要提前關閉連接,請使用mysql_close()函數
爲了讓 PHP 執行上面的語句,我們必須使用 mysql_query() 函數。此函數用於向 MySQL 連接發送執行命令

創建數據庫

CREATE DATABASE database_name
mysql_query("CREATE DATABASE ecshop",$con)

創建數據表

CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
.......
)
mysql_select_db() 函數設置活動的 MySQL 數據庫。
mysql_select_db("my_db",$con);
$sql="CREATE TABLE Persons
(
    PersonID int NOT NULL AUTO_INCREMENT
    PRIMARY KEY(PersonID),
    ID varchar(15),
    Name Varchar(10),
    Age int
)";
mysql_query($sql,$con);

重要事項:在創建表之前,必須首先選擇數據庫。通過 mysql_select_db() 函數選取數據庫。
註釋:當您創建 varchar 類型的數據庫字段時,必須規定該字段的最大長度,例如:varchar(15)。

向數據庫表插入數據

 INSERT INTO 語句用於向數據庫表增加新數據。
//規定希望在其中插入數據的列:
INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)
註釋:SQL 語句對大小寫不敏感。INSERT INTO 與 insert into 相同。

利用上面的 "Persons" 的表,有三個列:"ID", "Name" 以及 "Age"。
mysql_query("INSERT INTO Persons(ID,Name,Age) VALUES ('410426','LILI','28')");

把來自表單的數據插入數據庫

現在,我們創建一個 HTML 表單,這個表單可把新記錄插入 "Persons" 表。
<html>
<body>
<form action="insert.php" method="post">
ID: <input type="text" name="id" />
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
當用戶點擊上例中 HTML 表單中的提交按鈕時,表單數據被髮送到 "insert.php"。
"insert.php" 文件連接數據庫,並通過 $_POST 變量從表單取回值。然後,mysql_query() 函數執行 INSERT INTO 語句,一條新的記錄會添加到數據庫表中。
下面是insert.php頁面的代碼
function table_exist($table,$db)
{  //檢測表是否存在
    if ($table==''){return false;}
    $sql="show tables like '%$table%'";
    $query=$db->get_one($sql);;
    if ($query[0]){return true;}
    return false;
}
function db_exist($localhost,$username,$password,$db_name)
{
    $data   = array();
    if (!mysql_connect($localhost, $username, $password)) {
//        echo '不能連接到mysql';
        exit;
    }
    $result = mysql_query('show databases;');
    While($row = mysql_fetch_assoc($result)){
        $data[] = $row['Database'];
    }
    unset($result, $row);
    mysql_close();
    print_r($data);
    if (in_array(strtolower($db_name), $data))
        return ture;
//    echo '[',$db_name,']數據庫存在';
    else
        return false;
//    echo '[',$db_name,']數據庫不存在';
}

if(!db_exist("localhost","root","123456"))
{
    if (mysql_query("CREATE DATABASE my_db",$con))
    {
    }
    else
    {
        echo "Error creating database: " . mysql_error();
    }
}
if(!table_exist(@"Person",$con))
{
    if (mysql_query("CREATE TABLE Person (
    PersonID int NOT NULL AUTO_INCREMENT
    PRIMARY KEY(PersonID),
    ID varchar(15),
    Name Varchar(10),
    Age int
)",$con))
    {
        echo "creating table Person";
    }
    else
    {
        echo "Error creating Person: " . mysql_error();
    }
}
$sql="INSERT INTO Person(ID,Name,Age) VALUES ('$_POST[ID]','_$_POST[Name]','$_POST[Age]')";
if(!mysql_query($sql,$con))
{
    die('Error:'.mysql_error());
}
echo "1 recoed add";
mysql_close($con);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章