PHP全栈开发(七):PHP与MySQL存储交互(2.插入、读取)

<?php
$servername = "localhost";
$username = "root";
$password = "beijing2007";
$dbname = "mydb";
 
// 创建连接
$conn = mysqli_connect($servername, $username, $password,$dbname);
 
// 检测连接
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "连接成功" . "<br>";

//插入数据
$sql="INSERT INTO user(user,pwd,tel)
VALUES('admin','password',1393322677)";
if(mysqli_query($conn,$sql)){
    echo "插入成功";
}else{
    echo "Error creating: " . mysqli_error($conn);
}
//关闭数据库连接
mysqli_close($conn);
?>

联系方式tel这个字段不能使用Int(11)呢,11位的手机号码超过了int(11)的最大容量,还是用字符串的好。

这里我们插入成功了

可以使用MySQL命令来查看一下我们插入的东西。

mysql> SELECT * FROM user;
+----+-------+----------+------------+----------+
| id | user  | pwd      | tel        | reg_date |
+----+-------+----------+------------+----------+
|  1 | admin | password | 1393322677 | NULL     |
+----+-------+----------+------------+----------+
1 row in set (0.00 sec)

就是这些了。下面我们要来读取数据。

<?php
$servername = "localhost";
$username = "root";
$password = "yanshan2007";
$dbname = "mydb";
 
// 创建连接
$conn = mysqli_connect($servername, $username, $password,$dbname);
 
// 检测连接
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "连接成功" . "<br>";

//读取
$sql="SELECT id, user, pwd, tel FROM user";

//$result变量返回了查询结果,该结果的数据结构是一个特定的结果集合
//这个结果集合不能直接输出,需要经过函数的特殊处理才能输出
$result=mysqli_query($conn,$sql);

//mysql_num_rows() 函数返回结果集中行的数目。
if(mysqli_num_rows($result)>0){
    while($row=mysqli_fetch_assoc($result)){
        echo "id:" . $row["id"] . "<br>";
        echo "user:" . $row["user"] . "<br>";
        echo "password:" . $row["pwd"] . "<br>";
        echo "tel:" . $row["tel"] . "<br>";
    }
}else{
    echo "0 结果";
}
//关闭数据库连接
mysqli_close($conn);
?>

分析代码,我们可以看到首先用select语句查询出我们需要查询的字段。

然后查询结果到了$result里面。

然后使用mysqli_num_rows函数来看查询是否有内容,做一个判断,如果有内容,就输出,如果没有内容,就输出0结果。

感觉mysqli_num_rows这个函数应该是一个像POST一样的函数,推出去一个就少一个。直到没有。

然后while就不执行了。

 

posted @ 2018-08-07 19:56  为往圣继绝学2333  阅读(165)  评论(0编辑  收藏  举报