关于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 三者的操作与联系到此已经基本讲完。