PHP与mysql交互

目录

PHP操作Mysql数据库连接

连接mysql服务器

选择mysql数据库

连接错误时的提示mysqli_connect_errno();    

设置默认字符编码 

选择特定的数据库

关闭与mysql服务器的连接

 执行SQL语句

 例子

前言

创建数据库 

建立名为mydb的数据库

 ​        创建一个名User的数据表

数据的插入

数据的预处理

数据查询

函数速查


PHP操作Mysql数据库连接

连接mysql服务器

  • mysqli_connect()函数实现与MYSQL连接

connID=@mysqli_connect($host,$username,$password) 

住:@用来屏蔽数据库连接失败而显示的不友好的错误

<?php
    $host="127.0.0.1";
    $username="pipasound";
    $password="123";
    if($connID=@mysqli_connect($host,$username,$password)){
        echo "<script type='text/javascripe'>alert('数据库连接成功');</script>";
    }else{
        echo"<script type='text/javascripe'>alert('数据库连接失败');</script>";
    }
?>

 

选择mysql数据库

mysql_select_db(mysqli link,string dbname)

  • link为必选参数,应用mysqli_connect()函数成功建立MYSQL服务器后返回的连接标识
  • dbname必选参数,用户指定要选择的数据库名称 
<?php
    $host="127.0.0.1";
    $username="pipasound";
    $password="123";
    $dbname="db_database18"
    $connID=@mysqli_connect($host,$username,$password);
    if(mysqli_select_db($connID,$dbname)){
        echo "数据库连接成功";
    }else{
        echo"数据库连接失败";
    }

连接错误时的提示
mysqli_connect_errno();    

 mysqli_connect_errno();     //返回最后一次连接调用的错误代码
mysqli_connect_error();           //返回一个字符串描述的最后一次连接调用的错误代码

可以这么写 

if(mysqli_connect_errno()){
	exit(mysqli_connect_error());
}

 

设置默认字符编码 

mysqli_set_charset($link,'utf-8');


选择特定的数据库

mysqli_select_db($link,'bbs');


关闭与mysql服务器的连接

mysqli_close($link);

 执行SQL语句

mysqli_query(mysql link,string query)

  • link为必选参数,应用mysqli_connect()函数成功建立MYSQL服务器后返回的连接标识
  • query为必选参数,所要执行的查询语句

 例子

前言

我用的是warmserve,用户名默认root,密码为空

phpstudy可以这里点和​​​​​​​这里

创建数据库 

建立名为mydb的数据库

<?php
    /*
    建立连接
    其中第一个参数是服务器地址。
    其中第二个参数是用户名。
    其中第三个参数是密码。
    这些参数需要自己查。
     */
    $con =mysqli_connect("localhost","root","");
    mysqli_set_charset($con,'utf-8');
    //判断连接是否成功
    if (!$con){
        //连接失败输出错误。
        die('无法连接: ' . mysqli_connect_error());
    }
    //生成SQL语句,创建数据库mydb
    $sql = " CREATE DATABASE mydb ";
    //调用mysqli的query方法
    if (mysqli_query($con,$sql)){
        echo "创建成功";
    }else{
        echo "数据库创建失败: " . mysqli_connect_error();
    }
    //关闭连接
    mysqli_close($con);
?>

 

创建一个名User的数据表

SQL语句 为

CREATE TABLE User
(id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
password VARCHAR(20) NOT NULL,
sex VARCHAR(20) NOT NULL,
dob DATE NOT NULL,
email VARCHAR(50) NOT NULL);

代码 

<?php
    // 创建连接,这里多的参数是数据库名称。
    $con =mysqli_connect("localhost","root","", "mydb");
    // 检测连接
    if (!$con) {
        die("连接失败: " .mysqli_connect_error());
    }

    // 使用 sql 创建数据表
    $sql = "CREATE TABLE User (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(20) NOT NULL,
    password VARCHAR(20) NOT NULL,
    sex VARCHAR(20) NOT NULL,
    dob DATE NOT NULL,
    email VARCHAR(50) NOT NULL
    );";

    //调用mysqli的query方法
    if (mysqli_query($con,$sql)) {
    echo "Table User created successfully";
    } else {
    echo "创建数据表错误: " .mysqli_connect_error();
    }
    //关闭连接
    mysqli_close($con);
?> 

 

数据的插入

我们向数据表里插入如下数据:

‘测试’, ‘12345678’,’man’,’2016-3-3’,’test@example.com’

SQL语句如下:

INSERT INTO User 
(name,password,sex,dob,email)
VALUES 
('测试', '12345678','man','2016-3-3','test@example.com');

代码:

<?php
    // 创建连接
    $con = mysqli_connect("localhost","root","", "mydb");
    // 检测连接
    if (!$con) {
        die("连接失败: " . mysqli_connect_error());
    }
    // 使用 sql 插入数据
    $sql = "INSERT INTO User (name,password,sex,dob,email)
    VALUES ('测试', '12345678','man','2016-3-3','test@example.com')";
    if (mysqli_query($con,$sql)) {
        echo "数据插入成功";
    } else {
        echo "插入错误: " .mysqli_connect_error();
    }
    //关闭连接
    mysqli_close($con);
?>  

 

数据的预处理

插入数据时为了提高效率和防止注入使用预处理方式。
使用如下语句:

INSERT INTO User 
(name,password,sex,dob,email)
VALUES 
(?, ?,?,?,?);

数据查询

查询数据库中的名字。

<?php
    // 创建连接
    $con = mysqli_connect("localhost","root","", "mydb");
    // 检测连接
    if (!$con) {
        die("连接失败: " .mysqli_connect_error());
    }
    //查询语句
    $sql = "SELECT name FROM User";
    $result = mysqli_query($con,$sql);
    //输出数据
    if($result->num_rows>0){
        while($row =$result->fetch_assoc()){
            echo $row["name"]."<br>";
        }
    }
    mysqli_close($con);
?>  

 

 

函数速查

  • mysqli_real_escape_string()

转义用于SQL语句中的特殊字符防止SQL语句出错

 

  • 10
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值