美文网首页MYD网络安全实验室
攻玉之石之MySql 基础操作(PHP操作)

攻玉之石之MySql 基础操作(PHP操作)

作者: 有一个男孩叫阿威 | 来源:发表于2019-01-28 18:39 被阅读24次

    PHP 连接MySql
    使用mysql_connect函数来连接,语法如下:

    resource mysql_connect([string server [, string username [,string password [, bool new_link [, int_client_flags]]]]])
    

    该函数用来打开或重复使用一个到mysql服务器的连接。server是需要连接的mysql服务器,可以包括端口号使用英文的冒号隔开,例如“hostname:port”。username和password分别是连接数据时所需的用户名和密码。new_link参数默认为FALSE,如果用同样的参数第二次调用mysql_connect(),将不会建立新连接,而将返回已经打开的连接标识。设置为false时,则总是打开新的连接。
    代码如下:

    <p>连接到mysql数据库</p>
    <?php
    header("Content-Type: text/html;charset=utf-8");
    error_reporting(0); //禁止错误输出
    $link = mysql_connect('127.0.0.1:3306','username','password'); //创建数据库连接
    if(!$link){ //如果失败
        die('连接mysql数据库失败'.mysql_error()); //显示出错误信息
    }
    echo '连接mysql服务器成功!'; //否则显示连接成功的信息
    mysql_close($link); //最后关闭数据库连接
    ?>
    

    但是有一点,在 PHP 早期版本中我们使用 MySql 扩展。但该扩展在 2012 年开始不建议使用。所以我们在高版本的PHP 中使用该函数可能会出现警告信息。

    图片1.png
    这里我们可以添加@mysql_connect函数来忽略掉警告信息,或者使用最新的mysqli_connect函数来实现连接,并且可以运用到面向对象的思想。
    代码如下:
    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
     
    // 创建连接
    $conn = new mysqli($servername, $username, $password);
     
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    } 
    echo "连接成功";
    ?>
    

    关闭连接,$conn->close();
    PHP 设置活动的数据库
    mysql_select_db() 函数设置活动的 MySql 数据库。
    如果成功,则该函数返回 true。如果失败,则返回 false。
    同样的这个函数在高版本的PHP 中并不适用,所以我们使用mysqli_select_db() 函数进行设置。
    代码如下:

    <?php 
    $con=mysqli_connect("localhost","username","password"); 
    if (mysqli_connect_errno($con)) 
    { 
        echo "连接 MySql 失败: " . mysqli_connect_error(); 
    } 
    // 设置数据库为 "test"
    mysqli_select_db($con,"test");
     //关闭连接
    mysqli_close($con);
    ?>
    

    PHP 创建数据库和表
    创建数据库代码如下:

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
     
    // 创建连接
    $conn = new mysqli($servername, $username, $password);
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    } 
     
    // 创建数据库
    $sql = "CREATE DATABASE twx_test";
    if ($conn->query($sql) === TRUE) {
        echo "数据库创建成功";
    } else {
        echo "Error creating database: " . $conn->error;
    }
     
    $conn->close();
    ?>
    

    实例如下:


    图片2.png

    创建表代码如下:

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
     
    // 创建连接
    $conn = new mysqli($servername, $username, $password);
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    } 
    // 设置数据库为 "test"
    mysqli_select_db($conn,"twx_test");
    // 创建表
    $sql = "CREATE TABLE tb1(
    id INT  PRIMARY KEY, 
    name VARCHAR(30) NOT NULL
    )";
    if ($conn->query($sql) === TRUE) {
        echo "表创建成功";
    } else {
        echo "Error creating table: " . $conn->error;
    }
     
    $conn->close();
    ?>
    

    实例如下:

    图片3.png
    PHP 插入数据到数据库
    插入语句代码如下:
    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
     
    // 创建连接
    $conn = new mysqli($servername, $username, $password);
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    } 
    // 设置数据库为 "test"
    mysqli_select_db($conn,"twx_test");
    // 插入数据
    $sql = "insert into tb1 (id,name) values (1,'twx')";
    if ($conn->query($sql) === TRUE) {
        echo "数据插入成功";
    } else {
        echo "Error!!!" . $conn->error;
    }
     
    $conn->close();
    ?>
    

    实例如下:


    图片4.png

    这里需要注意PHP 操作MySql 的一些关键语法点

    PHP 中 SQL 查询语句必须使用引号
    在 SQL 查询语句中的字符串值必须加引号
    数值的值不需要引号
    NULL 值不需要引号
    

    PHP 插入多条语句
    代码如下:

    <?php
    $servername = "localhost";
    $username = "root";
    $password = "";
     
    // 创建连接
    $conn = new mysqli($servername, $username, $password);
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    } 
    // 设置数据库为 "test"
    mysqli_select_db($conn,"twx_test");
    // 插入数据
    $sql = "INSERT INTO tb1 (id, name)
    VALUES (1, 'twx');";
    $sql .= "INSERT INTO tb1 (id, name)
    VALUES (2, 'zfw');";
    $sql .= "INSERT INTO tb1 (id, name)
    VALUES (3, 'ztx');";
    $sql .= "INSERT INTO tb1 (id, name)
    VALUES (4, 'xmp')";
    if ($conn->multi_query($sql) === TRUE) {
        echo "数据插入成功";
    } else {
        echo "Error!!!" . $conn->error;
    }
     
    $conn->close();
    ?>
    

    实例如下:

    图片5.png
    这里需要特别注意多条插入的语法格式
    图片6.png
    mysqli_multi_query() 函数执行一个或多个针对数据库的查询。多个查询用分号进行分隔。语法格式:mysqli_multi_query(connection,query);
    PHP 读取数据
    代码如下:
    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
     
    // 创建连接
    $conn = new mysqli($servername, $username, $password);
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    } 
    // 设置数据库为 "test"
    mysqli_select_db($conn,"twx_test");
    // 创建数据库
    $sql = "SELECT id, name FROM tb1";
    $result = $conn->query($sql);
     
    if ($result->num_rows > 0) {
        // 输出数据
        while($row = $result->fetch_assoc()) {
            echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
        }
    } else {
        echo "0 结果";
    }
     
    $conn->close();
    ?>
    

    实例如下:

    图片7.png
    mysql_num_rows() 函数返回结果集中行的数目。语法:mysql_num_rows(data)
    fetch_assoc() 函数从结果集中取得一行作为关联数组
    PHP 修改数据库数据
    代码如下:
    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
     
    // 创建连接
    $conn = new mysqli($servername, $username, $password);
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    } 
    // 设置数据库为 "test"
    mysqli_select_db($conn,"twx_test");
    // 修改数据
    $sql = "update tb1 set name='dmg' where id = 4";
    if ($conn->query($sql) === TRUE) {
        echo "数据修改成功";
    } else {
        echo "Error!!!" . $conn->error;
    }
    
    $conn->close();
    ?>
    

    实例如下:

    图片8.png
    PHP 删除数据库数据
    代码如下:
    <?php
    $servername = "localhost";
    $username = "root";
    $password = "";
     
    // 创建连接
    $conn = new mysqli($servername, $username, $password);
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    } 
    // 设置数据库为 "test"
    mysqli_select_db($conn,"twx_test");
    // 删除数据
    $sql = "delete from tb1 where id = 4";
    if ($conn->query($sql) === TRUE) {
        echo "数据删除成功";
    } else {
        echo "Error!!!" . $conn->error;
    }
    
    $conn->close();
    ?>
    

    实例如下:

    图片9.png
    另外再补充一个方法,$conn->query($sql)用于执行$sql 语句
    欢迎访问阿威的博客 https://www.cnblogs.com/TWX521/ 专注技术与交流,stay hungry stay foolish
    2.gif

    相关文章

      网友评论

        本文标题:攻玉之石之MySql 基础操作(PHP操作)

        本文链接:https://www.haomeiwen.com/subject/pssajqtx.html