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就不执行了。