PHP串連MySQL資料庫執行個體

來源:互聯網
上載者:User

PHP串連MySQL資料庫執行個體

對於熟悉做網站的人來說,要想網站做成動態,肯定要有資料庫的支援,利用特定的指令碼串連到資料庫,從資料庫中提取資H料、向資料庫中添加資料、刪除資料等。這裡我通過一個執行個體來說明如何用PHP串連到MySQL資料庫的。

我準備建立一個簡單的通訊錄,資料庫的名字叫txl,資料庫只有一個表叫personal_info,表中有5個欄位

pi_id pi_name pi_tel pi_qq pi_email

  首先我們要建立資料庫:

  create database txl;

  然後我們建立表

  CREATE TABLE `personal_info` (

`pi_id` bigint(20) NOT NULL auto_increment,

`pi_name` varchar(50) NOT NULL,

`pi_tel` varchar(15) default NULL,

`pi_qq` varchar(15) default NULL,

`pi_email` varchar(50) default NULL,

PRIMARY KEY (`pi_id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

上面的sql語句很簡單,通過字面都能猜出什麼意思。

下面是串連到資料庫並且顯示表personal_info的所有欄位資訊:

// connsql.php

 

<?php

    $mysql_server_name="localhost"; //資料庫伺服器名稱

    $mysql_username="root"; // 串連資料庫使用者名稱

    $mysql_password="root"; // 串連資料庫密碼

    $mysql_database="lxr"; // 資料庫的名字

 

    // 串連到資料庫

    $conn=mysql_connect($mysql_server_name, $mysql_username,

                        $mysql_password);

 

    // 從表中提取資訊的sql語句

    $strsql="select * from personal_info";

    // 執行sql查詢

    $result=mysql_db_query($mysql_database, $strsql, $conn);

    // 擷取查詢結果

    $row=mysql_fetch_row($result);

 

    echo '<font face="verdana">';

    echo '<table border="1" cellpadding="1" cellspacing="2">';

 

    // 顯示欄位名稱

    echo "/n<tr>/n";

    for ($i=0; $i<mysql_num_fields($result); $i++)

    {

      echo '<td bgcolor="#000F00"><b>'.

      mysql_field_name($result, $i);

      echo "</b></td>/n";

    }

    echo "</tr>/n";

    // 定位到第一條記錄

    mysql_data_seek($result, 0);

    // 迴圈取出記錄 何問起

    while ($row=mysql_fetch_row($result))

    {

      echo "<tr>/n";

      for ($i=0; $i<mysql_num_fields($result); $i++ )

      {

        echo '<td bgcolor="#00FF00">';

        echo "$row[$i]";

        echo '</td>';

      }

      echo "</tr>/n";

    }

 

    echo "</table>/n";

    echo "</font>";

    // 釋放資源 hovertree.com

    mysql_free_result($result);

    // 關閉串連

    mysql_close(); 

?>

下面是運行結果:

pi_id pi_name pi_tel pi_qq pi_email

1 Zhangsan 13911111111 642864125 bkjia@bkjia.com

2 Lisi 13122222222 63958741 lisi@bkjia.com

3 Wangwu 13833333333 912345678 wangwu@bkjia.com

所謂“萬變不離其宗”,再複雜的操作也都是基於上面的來的,都少不了上面的基本的步驟,當需要時查一下相關的手冊便可以解決。

附參考代碼:

<h1>插入操作</h1> 
<?php 
    if(!isset($_POST['submit'])){ 
        //如果沒有表單提交,顯示一個表單 
?> 
    <form action="" method="post"> 
    國家:<input type="text" name="country" /> 
    動物名稱(英文):<input type="text" name="animal" /> 
    動物名稱(中文):<input type="text" name="cname" /> 
    <input type="submit" name="submit" value="提交表單" /> 
    </form> 
<?php 
    } 
    else 
    { 
        //如果提交了表單  hovertree.com
        //資料庫連接參數 
        $host = "localhost"; 
        $user = "root"; 
        $pass = "zq19890319"; 
        $db = "phpdev"; 
         
        //取得表單中的值,檢查表單中的值是否符合標準,並做適當轉義,防止SQL注入 
        $country = empty($_POST['country'])? die("請輸入國家名稱"): 
        mysql_escape_string($_POST['country']); 
        $animal = empty($_POST['animal'])? die("請輸入英文名"): 
        mysql_escape_string($_POST['animal']); 
        $cname = empty($_POST['cname'])? die("請輸入中文名"): 
        mysql_escape_string($_POST['cname']); 
         
        //開啟資料庫連接  何問起
        $connection = mysql_connect($host, $user, $pass) or die("Unable to connect!"); 
         
        //選擇資料庫 
        mysql_select_db($db) or die("Unable to select database!"); 
         
        //構造一個SQL查詢 
        $query = "INSERT INTO symbols(country, animal, cname) VALUE('$country', '$animal', '$cname')"; 
         
        //執行該查詢 
        $result = mysql_query($query) or die("Error in query: $query. ".mysql_error()); 
         
        //插入操作成功後,顯示插入記錄的記錄號 
        echo "記錄已經插入, mysql_insert_id() = ".mysql_insert_id(); 
         
        //關閉當前資料庫連接 
        mysql_close($connection); 
    } 
?> 

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.