PHP內置MySQL函數

1、mysql_connect()——創建數據庫鏈接

<?php
    header("content-type:text/html;charset=utf-8");
    if($con = mysql_connect('localhost','root','root')) {
        echo "鏈接成功";
        }
    else {
        echo "鏈接失敗";
        }
    //localhost:服務器
    //root:用戶名
    //root:密碼
?>

一、鏈接成功,返回 MySQL標識符;
php

二、鏈接失敗,返回false。html

判斷PHP是否已經安裝mysql擴展:
mysql

<?php
    if(function_exists('mysql_connect')) {
        echo "mysql擴展已經安裝";
    }
?>

2、數據庫擴展

PHP中一個數據庫可能有一個或者多個擴展,其中既有官方的,也有第三方提供的。像Mysql經常使用的擴展有原生的mysql庫,也可使用加強版的mysqli擴展,還可使用PDO進行鏈接與操做。sql

不一樣的擴展提供基本相近的操做方法,不一樣的是可能具有一些新特性,以及操做性能可能會有所不一樣。數據庫

mysql擴展進行數據庫鏈接的方法:數組

$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');

mysqli擴展:服務器

$link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');

PDO擴展:函數

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$dbh = new PDO($dsn, $user, $password);

示例:
性能

<?php
$link = mysql_connect('127.0.0.1', 'code1', '') or die('數據庫鏈接失敗');
mysql_select_db('code1');
mysql_query("set names 'utf8'");
$result = mysql_query('select * from user limit 1');
$row = mysql_fetch_assoc($result);
print_r($row);

3、mysql_select_db()——選擇數據庫

一、設置字符集
fetch

mysql_query("set names 'utf8'");

二、選擇數據庫

mysql_select_db("db_name");

鏈接成功返回TRUE,鏈接失敗返回false。

存在狀況:(1)數據庫不存在;(2)無權限操做數據庫

4、 mysql_close()——關閉數據庫鏈接

$link = mysql_connect("localhost","root","root");
mysql_close($link);

5、mysql_query()—— 執行一條SQL語句

mysql_query("insert into table (name) values('abc')");

返回值根據SQL語句不一樣而各有不一樣:

    一、insert語句成功返回TRUE,失敗返回FALSE

    二、對於查詢類的語句會返回一個資源句柄(resource),能夠經過該資源獲取查詢結果集中的數據。

插入新數據到mysql中:

$sql = "insert into user(name, age, class) values('李四', 18, '高三一班')";
mysql_query($sql); //執行插入語句

    一般數據都是存儲在變量或者數組中,所以sql語句須要先進行字符串拼接獲得。

$name = '李四';
$age = 18;
$class = '高三一班';
$sql = "insert into user(name, age, class) values('$name', '$age', '$class')";
mysql_query($sql); //執行插入語句


6、mysql_error()——返回mysql錯誤信息

echo mysql_error();

7、 mysql_insert_id()——獲取自增主鍵ID

   在mysql中,執行插入語句之後,能夠獲得自增的主鍵id,經過PHP的mysql_insert_id函數能夠獲取該id。

$uid = mysql_insert_id();

    這個id的做用很是大,一般能夠用來判斷是否插入成功,或者做爲關聯ID進行其餘的數據操做。

8、mysql_fetch_——獲取和顯示數據

1.mysql_fetch_row()

返回整型下標的數組,一次返回一行數據,而後指針下移

2.mysql_fetch_array()

返回整型下標(索引數組)和關聯下標數組,一次返回一行數據,而後指針下移;

mysql_fetch_array($result,""),第二個參數可取三個值:

    1.MYSQL_ASSOC——關聯數組;

    2.MYSQL_NUM——數字數組;

    3.MYSQL_BOTH——二者皆有(默認)

3.mysql_fetch_assoc()

返回關聯數組

4.mysql_fetch_object()

輸出對象

調取用:$obj->name

$query = mysql_query("select * from test");
$result = mysql_fetch_object($query);
var_dump($result);
echo $ressult->name;    //輸出名字


test數據庫:

id(1,2,3)
name(蘋果,香蕉,西瓜)
$query = mysql_query("select * from test");
$result = mysql_fetch_row($query);
var_dump($result);

返回查詢到的資源的第一條數據:

array(2) { [0]=> string(1) "1" [1]=> string(6) "蘋果" }

while循環輸出全部結果:

while($result = mysql_fetch_row($query)) {
    var_dump($result);
    }

輸出結果:

array(2) { [0]=> string(1) "1" [1]=> string(6) "蘋果" } array(2) { [0]=> string(1) "2" [1]=> string(6) "香蕉" } array(2) { [0]=> string(1) "3" [1]=> string(6) "西瓜" }

一條一條輸出:

$row1 = mysql_fetch_row($query);    //第一條數據
var_dump($row1);
$row1 = mysql_fetch_row($query);    //第二條數據
var_dump($row1);
$row1 = mysql_fetch_row($query);    //第三條數據
var_dump($row1);
$row1 = mysql_fetch_row($query);    //bool(false)
var_dump($row1);
$row1 = mysql_fetch_row($query);    //bool(false)
var_dump($row1);

輸出結果:

array(2) { [0]=> string(1) "1" [1]=> string(6) "蘋果" } array(2) { [0]=> string(1) "2" [1]=> string(6) "香蕉" } array(2) { [0]=> string(1) "3" [1]=> string(6) "西瓜" } bool(false) bool(false)

只輸出一個字段:

$query = mysql_query("select name from test");
while($result = mysql_fetch_row($query)) {
    var_dump($result);
    }

輸出結果:

array(1) { [0]=> string(6) "蘋果" } array(1) { [0]=> string(6) "香蕉" } array(1) { [0]=> string(6) "西瓜" }

9、mysql_num_rows()——結果集中行的數目

輸出結果爲一個數字。

$query = mysql_query("select * from test");
mysql_num_rows($query);

用途:判斷取出的結果是否有數據,若是有則輸出數據

$query = mysql_query("select * from test");
if($query && mysql_num_rows($query) != 0)
{
    //輸出結果
    while($row = mysql_fetch_row($query)) {
        echo $row[0];
    }
}
else {
    echo "沒有數據";
    }

10、mysql_result()——返回結果集中一個字段的值

三個參數:結果集的地址、行號(0開始)、字段名或字段位置(0,1,2……)(可爲空,默認爲第一個字段)

$query = mysql_query("select * from test");
mysql_result($query,0,'name');

11、mysql_affected_rows()——受影響的記錄行數

返回前一次受insert、update、delete影響的記錄行數

參數:鏈接標識符

<?php
$link = mysql_connect('127.0.0.1', 'code1', '') or die('數據庫鏈接失敗');
mysql_select_db('code1');
mysql_query("set names 'utf8'");
$result = mysql_query('delete from user limit 1');
echo "刪除的數據條數爲:".mysql_affected_rows($link);

12、mysql_errno()——mysql錯誤編號


十3、mysql_error()——mysql錯誤信息

相關文章
相關標籤/搜索