It sounds like your first need is a way to send the bytes back and forth. A secondary question will be what that data should consist of (eg: text commands, binary commands, etc). Let's tackle the "how" first.
You have described two dynamics to the communication between server and Arduino:
The arduino "sends data to the server" where PHP code will save it
to MySQL; if your Arduino can be an internet client (eg: has an
ethernet or wifi interface), it could use GET or POST (or PUT) HTTP calls to
php code. GET is easiest, but normally GET calls shouldn't change the server, only
query it -- but many people make exceptions for small devices and small
amounts of data which can be encoded in the URL.
The web server "controls the Arduino". Unless the Arduino sets up
an internet server, it is going to have to poll the web server from
time to time to find out what it should do (ie: to be controlled).
It can pretty easily use a GET to fetch some text which it can
I'm guessing that HTTP will be the easiest path for communicating, because you probably understand that if you are a PHP programmer, and because it can often get through firewalls more easily if that matters; but a simple TCP socket or UDP datagrams are also possible.
Once you can send blocks of bytes between the server and the Arduino, you can focus on what those bytes should contain. That could be simple text commands, or some binary protocol, or even the MQTT protocol transactions that another answer references. You haven't given enough info to help select the protocol and format, so I'm assuming you are mostly looking at this time for the method of communicating, as described above. If you want to ask about the format of what to send back and forth once you have the data flowing, please make that a new question. You can test the basics by just sending a "Hello" text string between server and Arduino.