I agree with your disagreement. In fact the writer seems to have it backwards.
The hard part of SQL is learning complex queries for "ad hoc exploration of data or for building aggregates over data sets": joins, unions, window functions, recursive common table expressions, etc. (Nevertheless it's still shorter than doing the same thing in some procedural language.)
The easy part is "programmatically accessing data." What is meant by "programmatically accessing data" anyway, besides "select * from . . ."? The writer's main criticism is:
> If you want to insert data,
> you’ll probably end up constructing the string (?,?,?,?,?,?,?,?)
> and counting arguments very carefully.
With PHP's built-in PDO library, you can use named placeholders instead of question marks:
select *
from fruits
where color = :color and calories < :calories
No question-mark counting required.