send(serialize([ 'type' => 'error', 'msg' => '数据库不存在接口日志表,请增加!' ])); } // 获取表字段 $sql = sprintf( "SELECT column_name,data_type FROM information_schema.columns WHERE table_schema='public' AND table_name='%s';", 'hf_logger_data' ); $ret = Db::fetchAll($sql); $date = date('Y-m-d H:i:s'); $key = 'create_time,'; $val = "'{$date}',"; foreach ($ret as $value) { if (isset($data[$value['column_name']]) && !empty($data[$value['column_name']])) { $key .= "{$value['column_name']},"; if (is_string($data[$value['column_name']])) { $val .= "'{$data[$value['column_name']]}',"; } else { $val .= "{$data[$value['column_name']]},"; } } } try { $sql = sprintf( "INSERT INTO hf_logger_data(%s) VALUES (%s)", rtrim($key, ','), rtrim($val, ',') ); $ret = Db::query($sql); $connection->send(json_encode([ 'type' => 'success', 'msg' => $ret ])); } catch (\Exception $e) { echo $e->getMessage() . PHP_EOL; $connection->send(json_encode([ 'type' => 'error', 'msg' => $e->getMessage() ])); } } }