Object rotating incorrectly

I’m trying to make an object face towards my character but it always approaches me from the side. I’ve been unable to find a way to get him to face straight at me. For reference here’s my code (I’m new to unity so sorry for any elementary mistakes):

using UnityEngine;
using System.Collections;

public class EnemyAI : MonoBehaviour {
	public Transform target;
	public int moveSpeed;
	public int rotationSpeed;
	public int maxDistance;

	private Transform myTransform;

	void Awake() {
				myTransform = transform;
		}

	// Use this for initialization
	void Start () {
		GameObject go = GameObject.FindGameObjectWithTag("Player");

		target = go.transform;
		maxDistance = 2;
	}
	
	// Update is called once per frame
	void Update () {
		Debug.DrawLine (target.transform.position, myTransform.position, Color.black);

		//Look at target
		myTransform.rotation = Quaternion.Slerp (myTransform.rotation, Quaternion.LookRotation (target.position - myTransform.position), rotationSpeed * Time.deltaTime);

		if (Vector3.Distance (target.position, myTransform.position) > maxDistance) {

			//Move towards target
			myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
		}
	}
}

As I recall from your code, the object is flying towards you and you want the object to always face you? Try changing the localRotation instead of the world rotation, maybe there is something wrong with the nesting of the objects.

Also try replacing (myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime) with:

Vector3 relVector = target.position - myTransform.position;

myTransform.position += relVector * moveSpeed * Time.deltaTime