But I still get 400 Bad Request. I google-ed this issue, and found that I need to clear the cache and cookies in my browser. So I did, and it didn't print 400 Bad Request anymore.
Which browser did you clean the cache from? In this case your Arduino is acting as the browser (as a web client).
The web repeating example has to be adapted for your environment. That means it would have to have your server configured and your format URL with athe 3 sensors. It would take some work. I gave it as an example for the structure. But it at least show that, from your network, you can get out to an external network.
Anyway, it looks like the change to the client.stop() statements may have solved the failed connection problem, so it may not be necessary to use the repeating example.
The 311 in the log entry ending with 400 311 is simply the number of bytes sent from the server to the client (Arduino).
Can you try entering:
http://192.168.0.121/arduino/getdata.php?sensor1=1&sensor2=1&sensor3=1
in a web browser again and see exactly what you get in the Apache access log to compare with what you get from when the same statement is issued from the Arduino. And check the mySQL database to see that the new entry was actually written.
When you enter the URL in the browser, does the URL change at all when you hit enter ? If so, this might indicate a redirect.
If there is no other PC maybe, if it is a WLAN network, connect your smartphone (if you have one) to that local network and try the browser there as well.