上一章讲述了wamp中mysql视图化的数据库的搭建和填充数据,这章讲述如果通过PHP代码获取mysql中的数据。
首先,上章遗留下的问题,通过PHP代码创建数据库,至于通过命令创建,这个作者就不想说了,有兴趣的同学可以自行百度查阅相关资料。参考: http://www.cnblogs.com/jiangxiaobo/p/7089345.html
1、打开E:/myserver.com/PHPtest/ ,然后新建mysql_data.php文件;
$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进行添加代码,如下:
$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,该文件用来创建数据表和相应的数据填充。
$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 . "
" . $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;
$username = "root"; //管理账号
$password = "123456"; //管理密码
$dbname = "mytest";//创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);//检测连接
if ($conn->connect_error) {die("数据库连接失败: " . $conn->connect_error());
}else{echo "数据库连接成功
";
}$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 "查询不到数据";
}
//打印出来,也可以将其传递给HTMLprint_r(json_encode($arr));//断开数据库连接
$conn ->close();?>
运行php_mysql.php,打印出来,页面可显示出之前我们设置好的数据库中的数据;
当然,我们可以对数据进行处理,然后把数据传给HTML,这个我在前几章已经介绍过,在这里就不多说了。
关于wamp的HTML, PHP, mysql 三者的操作与联系到此已经基本讲完。