要想与数据库交互,实现增删查改,需要1.配置路由 2.写函数
先创造一个实例:$app = new Slim\App();
查询所有信息的路由:$app->get('/', 'get_employee'); get的第一个参数是路由地址,第二个参数是get_employee这个函数的返回值。
get_employee函数:
function get_employee() {
$db = connect_db();
$sql = "SELECT * FROM employee ORDER BY `employee_id`";
$exe = $db->query($sql);
$data = $exe->fetch_all(MYSQLI_ASSOC);
$db = null;
echo json_encode($data);
}
查询指定id的信息的路由:
$app->get('/employee/{id}', function($request, $response, $args) {
get_employee_id($args['id']);
});
比如 localhost:8080/employee/1 查询到的就是id是1的数据的信息。
get_employee_id函数:
function get_employee_id($employee_id) {
$db = connect_db();
$sql = "SELECT * FROM employee WHERE `employee_id` = '$employee_id'";
$exe = $db->query($sql);
$data = $exe->fetch_all(MYSQLI_ASSOC);
$db = null;
echo json_encode($data);
}
增加数据的路由:
$app->post('/employee_add', function($request, $response, $args) {
add_employee($request->getParsedBody());
});
这里的getParsedBody()返回的是从表单获取的数据,是一个数组。
add_employee函数:
function add_employee($data) {
$db = connect_db();
$sql = "insert into employee (emp_name,emp_contact,emp_role)"
. " VALUES('$data[emp_name]','$data[emp_contact]','$data[emp_role]')";
$exe = $db->query($sql);
$last_id = $db->insert_id;
$db = null;
if (!empty($last_id))
echo $last_id;
else
echo false;
}
删除指定id的数据的路由:
$app->delete('/delete_employee', function($request, $response, $args) {
echo $request->getParsedBody();
delete_employee($request->getParsedBody());
});
delete_employee函数:
function delete_employee($employee) {
$db = connect_db();
$sql = "DELETE FROM employee WHERE employee_id = '$employee[employee_id]'";
$exe = $db->query($sql);
$db = null;
if (!empty($last_id))
echo $last_id;
else
echo false;
}
注意:传参数有两种方法,一种是在url内添加,另外一种是在表单中,用getParsedBody()获取。