You don’t need PDO to write safe DB queries. PHP developers were able to do so before PDO was created 😉
There is nothing unsafe in using WPDB class, as long as you do it correctly (just use prepare and correct ways of escaping).
There is one major flaw in your question: using PDO, of course, doesn’t make you secure – you still can write unsafe code 😉 That’s why you can find SQL Injection vulnerabilities also in software that uses PDO (or even ORMs).
So I don’t see any reason for arguing why WP doesn’t use PDO. Much better (and more up to date) would be a question: “Why is there no ORM impelementation in WP” 😉
Related Posts:
- Inserting Post Meta From SQL
- How to execute mulitple statement SQL queries using $wpdb->query?
- Delete duplicate rows from wordpress database where a column is duplicate in phpmyadmin
- Query WordPress database by registered date and role
- Size article thumbnails and retrieve them directly from database
- wpdb_prepare with multiple or condition
- SQL Error wp_commentmeta – incorrect table definition
- WordPress and MySQL: how to transfer Meta_key and Meta_Value from one post_id to another
- How do I get the posts within a certain year/date(with sql query)?
- Create table from array with prepare
- Why this query is not showing any result on wordpresss home page?
- Why does changing Database Table Prefixes result in loss of content?
- SQL query to set posts in bulk based on the post content
- $wpdb->get_var – What value is returned when zero records are found?
- DB prefix not updating
- I wanted to Know that how can I give ingore to 0000-00-00 in my config file
- How to create index (sql) to a meta_key?
- Delete all users meta that named: user_avatar
- The MySQL Connection could not be established., before it was joomla but i have change it into worpress
- Migrated to Namecheap, now Trouble with Database & wp-config [closed]
- export individual posts to text files or a single csv file
- SQL query : Select a thumbnail for a media
- SQL Query to get post_id from wp_posts and and meta_key(s) from wp_postmeta
- Deleting WordPress posts and media files based on author via MYSQL database
- Can’t connect to MySQL server on ‘127.0.0.1’ (10061) (2003)
- MySQL SELECT increment counter
- how to drop partition without dropping data in MySQL?
- Creating a search form in PHP to search a database?
- MySQL equivalent of DECODE function in Oracle
- WordPress (MyISAM) database is slow, should I switch to InnoDB?
- WordPress Database lost auto increment
- Restoring WordPress posts from database only
- Getting wrong relationship value in $args in wp_Query?
- Slow wp_term_relationships query
- How to use “TRUNCATE TABLE” MySQL statement?
- Organizing WP Pages based on old website database
- Using Dynamic Data Pulled from a MySQL Table in a WordPress Page
- What are conventions about the schema of the $table_prefix
- Migrating non-WordPress CMS to WordPress, lots of data to move — possible solutions?
- Is deleting orphaned wp_options entries safe?
- How to solve slow WordPress site caused by attachment_metadata
- Would manually deleting the dumping data fix a “#1062 – Duplicate entry ‘1’ for key ‘PRIMARY'” phpMyAdmin error?
- Delete all post meta except featured image
- WooCommerce – Query for ordered products
- Large database causes slow load
- Database slowdown after update to 3.4.1
- Tons of Twitter rows in my database
- How to insert data into MySQL database from the form created in WordPress site
- Select Multiple meta_value from WP DB; Single Query
- Which is more efficient? Using usermeta, or creating a new MySQL table?
- Is it possible to split database tables using HyperDB?
- What happens if I overwrite the current wp_options table with a backup from a week ago?
- WordPress database error – Error in SQL syntax – I can’t identify any error?
- CRUD operations using WordPress database API
- Handling large N data in WordPress
- How to Mirror WordPress database from Remote server to Local server
- WordPress is not creating table in database after activating plugin,
- Is MariaDB’s Aria storage engine suitable for WordPress?
- Difficulty importing my live site to local
- Slow queries constantly getting stuck on WordPress database of ~100,000 posts
- A MySQL DB within a MySQL DB
- How do I query wp_options for expired transient pairs with MySQL commands?
- Is there a way to recover the table wp_term_relationships?
- Trouble Migrating all data blog from WordPress.com to WordPress.org
- WordPress running SQL query to update database from form
- Insert Query not working in the form
- Problems with moving my WordPress site to another domain/server
- pull data from a remote wordpress database
- Clear Terms from Taxonomy for Specific Post IDs?
- Options on how to Display member specific data from a MS SQL database
- WP MultiSite: Can’t select database error after changing to new domain
- Moving WordPress site to new domain – database import [duplicate]
- Location of WP default mySQL tables creation file?
- How to connect and insert data in database of wordpress?
- Buddypress avatar image in database [closed]
- Installing local to live WP into subdirectory
- WordPress SQL – How to Check for Category?
- Only allow user to access a link once a year, based on their joining date
- Counting post and changing roles in mysql database. Query not code
- MSQL database wp_postmeta has meta key tve_revision
- Deleting empty meta key values
- I imported an restore an database and It shows #1067 – Invalid default value for ‘user_registered’
- “BS_” rows in postmeta table
- How can I find user role in Mysql?
- Featured image from custom to WordPress database
- What’s the easiest way to connect external database and display data on wordpress?
- WordPress Database Query works in phpMyAdmin but not in the code
- mySQL database size large, but tables size less
- spambot registering without providing email or password, bypassing registration process
- After renaming MySQL database, I can no longer access my Blog page
- How To connect to the same WordPress database with different database user
- Possible to restore wordpress database from mysql56 and sqlite files?
- can’t delete a row from post_meta table
- Create a new table on the database and save parameters from a contact form
- Widgets with *internal* links do not display after database migration
- How to add data from wordpress tables to new database tables you have created
- Install WordPress with SQL database
- How to back-up a database on IIS
- Importing Concrete5 content to WordPress
- Uploading to WordPress Database