PHP mysqli笔记
PHP连接数据库有面向对象风格和过程化风格
创建连接
面向对象风格
$mysqli = new mysqli("localhost", "my_user", "my_password", "DataBase","port");
//localhost: 连接地址,数据库在本地电脑就用localhost或者127.0.0.1
//my_user: 账号
//my_password: 密码
//DataBase: 数据库(可有可无)
//port: 端口号(也可以在连接地址处添加,例:localhost:8888)
过程化风格
link = mysqli_connect("localhost", "my_user", "my_password", "world");
简单的查询
面向对象
$result = $mysqli->query("select count(*) from first.city");
过程化风格
$result = mysqli_query($link,"select count(*) from first.city");
//参数:(mysql $link,SQL语句)
将查询到信息展示到页面上
方法很多
<a href="Add.php">添加</a>
<table border="1" align="center">
<tr>
<td>ID</td>
<td>城市名称</td>
<td>地区坐标</td>
<td>操作</td>
</tr>
<?php
//拼接方法一:
while($row=$result->fetch_assoc()){ //获取一行
echo '<tr>';
echo '<td>'.$row['Id'].'</td>';
echo '<td>'.$row['CityName'].'</td>';
echo '<td>'.$row['CityLocation'].'</td>';
echo '<td><input type="button" value="修改" onclick="location.href=\'modify.php?Id='.$row['Id'].'\'"></td>';
echo '<td><input type="button" value="删除" onclick="location.href=\'delete.php?Id='.$row['Id'].'\'"></td>';
echo '</tr>';
}
//拼接方法二:
while($row=$result->fetch_assoc()){ //获取一行
?>
<tr>
<td><?php echo $row['Id']?></td>
<td><?php echo $row['CityName']?></td>
<td><?php echo $row['CityLocation']?></td>
<td><input type="button" value="修改" onclick="location.href='modify.php?Id=<?php echo $row['Id']?>'"></td>
<td><input type="button" value="删除" onclick="location.href='delete.php?Id=<?php echo $row['Id']?>'"></td>
</tr>
<?php
}
$result->free();//释放
$mysqli->close();//释放
?>
</table>
简单的删除
通过Get获取传递过来的Id
在delete.php页面中执行删除SQL语句
$id = $_GET['Id']??-1;//获取Id的值,如果没有就赋值为-1
$sql = "delete from first.city where Id = $id";//拼接SQL语句
if($mysqli->query($sql))//执行成功返回true
echo "删除成功";
else
echo "删除失败";
简单的修改
通过Get获取传递过来的Id
modify.php页面
//GET
//获取Id值
$id = $_GET['Id']??-1;//获取Id的值,如果没有就赋值为-1
//此处省去创建mysqli对象等重复代码
$sql = "select * from first.city where id = $id";//拼接SQL语句
$row = $mysqli->query($sql)->fetch_assoc();//获取第一行
<!--将通过ID查询出来的数据,展示在表单中-->
<form action="" method="Post" id="form1"><!--使用Post提交,保存修改信息-->
<table>
<tr><td colspan="2">修改商品</td></tr>
<tr>
<td>城市名称</td>
<td><input type="text" name="CityName" value="<?echo $row['CityName']?>"></td>
</tr>
<tr>
<td>地区坐标</td>
<td><input type="text" name="CityLocation" value="<?echo $row['CityLocation']?>"></td>
</tr>
<tr>
<td><input type="submit" value="保存"></td>
</tr>
</table>
</form>
//POST
//获取POST请求数据
if(isset($_POST['CityName']) && isset($_POST['CityLocation'])) {
$name = $_POST['CityName'];//获取城市名称
$location = $_POST['CityLocation'];//获取城市坐标
$sql = "update first.city set CityName = '$name',CityLocation = '$location' where Id = $id";//拼接update SQL
if ($mysqli->query($sql)) {//执行更新语句,执行成功返回True
echo "修改成功";
header('location:Index.php');//跳转页面
} else {
echo "修改失败";
};
}
简单的添加
添加,Add.php页面
//获取POST请求的数据
if(isset($_POST['CityName']) && isset($_POST['CityLocation'])) {
$name = $_POST['CityName'];//获取城市名称
$location = $_POST['CityLocation'];//获取城市坐标
$sql = "insert into first.city(CityName,CityLocation) values('$name','$location')";//拼接添加SQL语句
if ($mysqli->query($sql)) {//执行SQL语句
echo "添加成功";
header('location:Index.php');
} else {
echo "添加失败";
};
<form action="" method="Post"><!--和修改界面一样的-->
<table>
<tr>
<td>城市名称</td>
<td><input type="text" name="CityName"></td>
</tr>
<tr>
<td>地区坐标</td>
<td><input type="text" name="CityLocation"></td>
</tr>
<tr>
<td><input type="submit" value="添加"></td>
</tr>
</table>
</form>
PhpStorm
使用PhpStorm的一些配置
PHP配置
Setting->Languages&Frameworks->PHP
Project Configuration->CLI Interpreter
左上角添加->Other Local…
PHP executable为PHP安装的路径
添加完成后,设置后就行
Apache配置
PhpStrom配置Apache服务器
Setting -> Build,Execution,Deployment ->Deployment
左上角添加
Type 看情况而定,如果是在本地就选Local or mounted folder
Folder : Apache配置的虚拟路径
Web Server or URL : Apache配置的虚拟主机路径(看情况而定)