input: Write a function to perform matrix multiplication on two given matrices. The function should take two 2D lists (matrices) as input and return a new 2D list representing the result of the matrix multiplication. If the matrices cannot be multiplied due to incompatible dimensions, the function should return an appropriate error message or None.
  assert matrix_multiplication([[1, 2, 3], [4, 5, 6]], [[7, 8], [9, 10], [11, 12]])==[[58, 64], [139, 154]]
  assert matrix_multiplication([[1, 2], [3, 4]], [[5, 6], [7, 8]])==[[19, 22], [43, 50]]
  assert matrix_multiplication([[1, 2, 3], [4, 5, 6]], [[1, 2], [3, 4]]) is None
output: def matrix_multiplication(A, B):
      if len(A[0]) != len(B):
          return None
      result = [[0 for _ in range(len(B[0]))] for _ in range(len(A))]
      for i in range(len(A)):
          for j in range(len(B[0])):
              for k in range(len(B)):
                  result[i][j] += A[i][k] * B[k][j]
      return result