初次学习用php操作数据库,做一做笔记,简单的总结一下如何在web界面输出查询内容和向数据库中添加记录。如有错误,望评论指正。
就是用php嵌套HTML代码,用一个table输出。
在学习中遇到一些问题:
1.PHP无法向MYSQL插入中文记录
如果在sql语句里面插入的字段有中文的话,在web界面会出现乱码的情况
解决方法:最重要的两个步骤就是
1).打开my.ini文件:找到default-character-set,把它设置为utf8,default-character-set=utf8
2).在php代码里面写上mysqli_query("set names 'utf8'");
具体设置看此链接:
2.每次执行一次insert的sql语句就会向数据库中插入同样的数据
解决方法:设置主键唯一标识
以下是整个代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<table style='text-align:left;border:solid' border="1">
<tr><td>姓名</td><td>年龄</td></tr>
<?php
$conn = mysqli_connect('localhost','root','');
if($conn){
echo '连接成功';
}else{
echo '连接失败';
}
mysqli_query($conn,"insert into myapp.course
values('008','计算机系统',48,6,'002')");
mysqli_query($conn, "insert into myapp.course
values('009','嵌入式',48,6,'001')");
mysqli_query($conn,"insert into myapp.student values('98030110','张九',20,'女','980301','03')");
mysqli_query($conn, "insert into myapp.student values('98030111','张十',19,'男','980301','04')");
mysqli_query($conn,"use myapp");
mysqli_query($conn,"set name utf-8");
$sql = 'select Sname,Sage from Student where ssex="男"';
$retval = mysqli_query($conn,$sql);
echo '<h3>在WEB页面显示以下内容:学生表中所有男生的年龄及姓名;</h3>';
// $row=mysqli_fetch_assoc($retval);
// print_r($row);
// $row=mysqli_fetch_assoc($retval);
// print_r($row);//这个只能一行一行的输出
$num=mysqli_num_rows($retval);
//这里用一个for循环输出所有满足条件的查询语句
for ($i=0; $i <$num ; $i++) {
$row=mysqli_fetch_assoc($retval);
$name=$row['Sname'];
$age=$row['Sage'];
echo "<tr><td>$name</td><td>$age</td><tr>";
}
//快速获取数据的条数,不用通过查询所有条数
$result=mysqli_query($conn,'select count(*)from course');
$num1=mysqli_fetch_array($result);
echo '数据条数'.$num1[0];
?>
</table>
</body>
</html>
这是运行后的效果: