关于wamp的HTML, PHP, mysql 三者的操作与联系 - PHP与mysql(四)

  上一章讲述了wamp中mysql视图化的数据库的搭建和填充数据,这章讲述如果通过PHP代码获取mysql中的数据。

  首先,上章遗留下的问题,通过PHP代码创建数据库,至于通过命令创建,这个作者就不想说了,有兴趣的同学可以自行百度查阅相关资料。参考: http://www.cnblogs.com/jiangxiaobo/p/7089345.html

  1、打开E:/myserver.com/PHPtest/ ,然后新建mysql_data.php文件;

<?php
    $arr = array();
    $servername = "localhost"; // 服务器域名
    $username = "root"; // 管理账号
    $password = "123456";  // 管理密码
    $dbname = "mytest";  // 我们新建的数据库名称

    //创建连接, 连接数据库, mysqli_connect()函数, mysql_connect()不支持,会报错
    $conn = mysqli_connect($servername, $username, $password, $dbname);

    //能打印出来说明$coon存在,获取到数据
    print_r(json_encode($conn));

    if(!$conn){
        die("连接失败: " . mysqli_connect_error());
    }else {
        echo "连接成功";
    }
?>

  打开浏览器,输入 http://myserver.com/mysql_data.php ;页面显示出数据,那么说明PHP文件成功连接上了数据库mysql

  2、创建数据库 mytest1

  将mysql_data.php进行添加代码,如下:

<?php
    $arr = array();
    $servername = "localhost"; // 服务器域名
    $username = "root"; // 管理账号
    $password = "123456";  // 管理密码
    $dbname = "mytest";  // 我们新建的数据库名称

    //创建连接, 连接数据库, mysqli_connect()函数, mysql_connect()不支持,会报错
    $conn = mysqli_connect($servername, $username, $password, $dbname);

    //能打印出来说明$coon存在,获取到数据
    print_r(json_encode($conn));

    if(!$conn){
        die("连接失败: " . mysqli_connect_error());
    }else {
        echo "连接成功";
    }

    //创建数据库 mytest1
   $sql = "CREATE DATABASE mytest1";
   if($conn->query($sql)){
       echo "数据库创建成功";
   }else{
       echo "数据库创建失败";
   }

   //断开数据库连接
   $conn -> close();
?>

  刷新 http://myserver.com/mysql_data.php 页面,让php的代码运行起来,再刷新数据库mysql的页面可以发现: 

  

  数据库 mytest1 创建成功。

 3、创建完数据库mytest1后,需要重新新建一个文件mysql_table.php,该文件用来创建数据表和相应的数据填充。

<?php
    $arr = array();
    $servername = "localhost"; // 服务器域名
    $username = "root"; // 管理账号
    $password = "123456";  // 管理密码
    $dbname = "mytest1";

    // 创建连接
    $conn = new mysqli($servername, $username, $password, $dbname);
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error());
    } 

    // 使用 sql 创建数据表
    $sqlTable = "CREATE TABLE userinfo (
        id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
        firstname VARCHAR(30) NOT NULL,
        lastname VARCHAR(30) NOT NULL,
        email VARCHAR(50)
        )";
    
    if ($conn->query($sqlTable) === TRUE) {
        echo "Table userinfo created successfully";
    } else {
        echo "创建数据表错误: " . $conn->error;
    }

    // 创建数据库 
    $sqlData = "INSERT INTO userinfo (firstname, lastname, email) VALUES ('cp', 'cookie', 'CP_cookie@example.com');";
    $sqlData = "INSERT INTO userinfo (firstname, lastname, email) VALUES ('cp1', 'cookie1', 'CP_cookie1@example.com');";
    $sqlData = "INSERT INTO userinfo (firstname, lastname, email) VALUES ('cp1', 'cookie2', 'CP_cookie2@example.com');";
     
    if ($conn->query($sqlData)) {
        echo "新记录插入成功";
    } else {
        echo "Error: " . $sqlData . "<br>" . $conn->error;
    }

   //断开数据库连接
   $conn -> close();
?>

  运行mysql_table.php,在刷新phpmyadmin服务器页面,左边可以看到对应的数据库:

  

   注:重复运行mysql_table.php会重复向数据库mytest1中添加相同的数据。如果有同学想对多条数据插入研究,可以看看预处理语句,参考:http://www.runoob.com/php/php-mysql-prepared-statements.html

  接下来,开始实现通过PHP代码来操作数据mytest中的数据。

  1、打开E:/myserver.com/PHPtest/ ,然后新建php_mysql.php文件,连接我们上一章设置好数据库 mytest;

  

<?php
    $arr = array();
    $servername = "localhost"; // 服务器域名
    $username = "root"; // 管理账号
    $password = "123456";  // 管理密码
    $dbname = "mytest";

    // 创建连接
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    //检测连接
    if ($conn->connect_error) {
        die("数据库连接失败: " . $conn->connect_error());
    }else{
        echo "数据库连接成功<br/>";
    }

    $sql = "SELECT id, username, age, gender, city FROM userinfo";  // 从数据表集userinfo中读取特定属性
    
    $result = mysqli_query($conn, $sql); // 从对应数据库中找到需要读取的属性
     
    // mysqli_num_rows()函数可以返回数据表集中目标数据的行的数量,大于0,表示存在一个或多个。
    if (mysqli_num_rows($result) > 0) {
        // 输出数据 mysqli_fetch_assoc()函数返回读取当前行的索引,并集合为数组,如果没有返回false;
        while($row = mysqli_fetch_assoc($result)) {
            // 遍历目标行的索引,并依次打印出来
            $arreach = array("id" => $row["id"], "item" => array("username" => $row["username"], "age" => $row["age"], "gender" => $row["gender"], "city" => $row["city"]));
            array_push($arr, $arreach);
        }
    } else {
        echo "查询不到数据";
    }

  //打印出来,也可以将其传递给HTML
print_r(json_encode($arr)); //断开数据库连接 $conn -> close(); ?>

  运行php_mysql.php,打印出来,页面可显示出之前我们设置好的数据库中的数据;

  

  当然,我们可以对数据进行处理,然后把数据传给HTML,这个我在前几章已经介绍过,在这里就不多说了。

  关于wamp的HTML, PHP, mysql 三者的操作与联系到此已经基本讲完。

posted @ 2017-10-06 17:14  浪里小韭菜  阅读(575)  评论(0编辑  收藏  举报