I am building a way of importing .SQL files into a MySQL database from PHP. This is used for executing batches of queries. The issue I am having is error reporting.
$command = "mysql -u $dbuser --password='$dbpassword' --host='$sqlhost' $dbname < $file";
exec($command, $output);
This is essentially how I am importing my .sql file into my database. The issue is that I have no way of knowing if any errors occurred within the PHP script executing this command. Successful imports are entirely indistinguishable from a failure.
I have tried:
- Using PHP's sql error reporting functions.
- Adding the verbose argument to the command and examining the output. It simply returns the contents of the .sql file and that is all.
- Setting errors to a user variable within the .sql file and querying it from the PHP script.
I hope I am not forced to write the errors into a temporary table. Is there a better way?
UPDATE: If possible, it would be very preferable if I could determine WHAT errors occurred, not simply IF one occurred.
$output. Is it not?