Drew Jaynes
4770601d73
Docs: Standardize `@deprecated` tag formatting in the DocBlocks for several `wpdb` methods.
...
Props Alphawolf.
See #28806 .
Built from https://develop.svn.wordpress.org/trunk@33679
git-svn-id: http://core.svn.wordpress.org/trunk@33646 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-20 22:42:25 +00:00
Gary Pendergast
e6904bc0e8
WPDB: When checking the encoding of strings against the database, make sure we're only relying on the return value of strings that were sent to the database. Also make sure that we're not trying to sanity check strings that've been marked as not needing sanity checking.
...
Fixes #32279 .
Built from https://develop.svn.wordpress.org/trunk@33455
git-svn-id: http://core.svn.wordpress.org/trunk@33422 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-28 06:32:24 +00:00
Gary Pendergast
a6cb4b293c
WPDB: `::strip_text_from_query()` doesn't pass a length to `::strip_invalid_text()`, which was causing queries to fail when they contained characters that needed to be sanity checked by MySQL.
...
Props dd32, mdawaffe, pento.
Fixes #32279 .
Built from https://develop.svn.wordpress.org/trunk@33310
git-svn-id: http://core.svn.wordpress.org/trunk@33282 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-17 07:07:26 +00:00
Gary Pendergast
6759a210ca
WPDB: Remove some of the complexities in `::strip_invalid_text()` associated with switching character sets between queries. Instead of trying to dynamically change connection character sets, we now rely on the value of `::charset`. This also fixes the case where queries were being blocked when `DB_CHARSET` was `utf8`, but the column character set was non-`utf8`.
...
Fixes #32165 .
Built from https://develop.svn.wordpress.org/trunk@33308
git-svn-id: http://core.svn.wordpress.org/trunk@33280 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-17 06:34:26 +00:00
Gary Pendergast
f28b182a7c
WPDB: When checking that text isn't too long to insert into a column, `LONGTEXT` columns could fail, as their length is longer than `PHP_INT_MAX`. Treating their length as a `float` instead of an `int` fixes this.
...
See #32165 .
Built from https://develop.svn.wordpress.org/trunk@33276
git-svn-id: http://core.svn.wordpress.org/trunk@33248 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-15 04:33:25 +00:00
Gary Pendergast
4ee0da1798
WPDB: When extracting the table name from a query, we had a 1000 character limit on the SQL string that would be searched. This was a hangover from when the code was imported from HyperDB, and isn't appropriate for Core, where a wider range of queries are likely to be run.
...
Fixes #32763
Built from https://develop.svn.wordpress.org/trunk@33259
git-svn-id: http://core.svn.wordpress.org/trunk@33231 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-14 10:19:24 +00:00
Dion Hulse
cbacb92dae
Enable utf8mb4 for MySQL extension users. Previously utf8mb4 was limited to MySQLi users only unintentionally.
...
This change does the following things
* Allows utf8mb4 for the MySQL extension
* Re-runs the utf8->utf8mb4 conversion for single sites, this will do nothing for tables already converted
* Re-runs the utf8->utf8mb4 conversion for global tables in multisite when the environment supports utf8mb4
* Removes upgrade_420() calling as upgrade_430() will perform those changes now instead
The index shortenings should have still taken place on utf8 sites previously, so there's no need to run those again.
Props kovshenin, pento, dd32
Fixes #32127 for trunk.
Built from https://develop.svn.wordpress.org/trunk@33055
git-svn-id: http://core.svn.wordpress.org/trunk@33026 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-03 03:26:24 +00:00
Dominik Schilling
54424e9755
wpdb: Make "WordPress database error:" translatable.
...
props jrf.
see #32021 .
Built from https://develop.svn.wordpress.org/trunk@33006
git-svn-id: http://core.svn.wordpress.org/trunk@32977 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-30 20:00:25 +00:00
Scott Taylor
a0e373ef80
For doc block types, favor `bool` over the few remaining `boolean`s
...
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32964
git-svn-id: http://core.svn.wordpress.org/trunk@32935 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 01:03:25 +00:00
Scott Taylor
6ab487dde6
Add missing/alter existing doc blocks for `wp-db.php`.
...
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32641
git-svn-id: http://core.svn.wordpress.org/trunk@32611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-28 20:10:29 +00:00
Scott Taylor
2f3e567f44
Alter visibility of some properties in `wpdb`:
...
`num_queries` is accessed publicly in core.
`num_rows` is accessed publicly in `ms-settings.php`.
`insert_id` is accessed publicly in core.
`prefix` is accessed publicly in `upgrade.php` and `capabilities.php`.
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32640
git-svn-id: http://core.svn.wordpress.org/trunk@32610 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-28 16:34:25 +00:00
Scott Taylor
45d897d0e7
In `wpdb::load_col_info()`, don't fetch the number of fields in the result row on each iteration of the `for` loop. It can be stored in a var and referenced.
...
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32515
git-svn-id: http://core.svn.wordpress.org/trunk@32485 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-19 20:30:27 +00:00
Gary Pendergast
7ca423d449
The UTF-8 regex can occasionally fail on very low memory machines. Reduce the amount of memory it uses.
...
See #32204 .
Built from https://develop.svn.wordpress.org/trunk@32375
git-svn-id: http://core.svn.wordpress.org/trunk@32345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-06 06:58:24 +00:00
Gary Pendergast
c24c5923c3
WPDB: When sanity checking query character sets, there's no need to check queries that don't return user data.
...
See #32104 .
Built from https://develop.svn.wordpress.org/trunk@32374
git-svn-id: http://core.svn.wordpress.org/trunk@32344 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-06 06:05:26 +00:00
Gary Pendergast
6e7fff514b
WPDB: Allow queries to reference tables in the `dbname.tablename` format, and allow table names to contain any valid character, rather than just ASCII.
...
Props pento, willstedt for the initial patch.
See #32090 .
Built from https://develop.svn.wordpress.org/trunk@32368
git-svn-id: http://core.svn.wordpress.org/trunk@32338 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-06 05:01:26 +00:00
Gary Pendergast
364886a5be
WPDB: When checking that a string can be sent to MySQL, we shouldn't use `mb_convert_encoding()`, as it behaves differently to MySQL's character encoding conversion.
...
Props mdawaffe, pento, nbachiyski, jorbin, johnjamesjacoby, jeremyfelt.
See #32165 .
Built from https://develop.svn.wordpress.org/trunk@32364
git-svn-id: http://core.svn.wordpress.org/trunk@32335 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-06 03:00:25 +00:00
Gary Pendergast
85d327d4bd
In [32299], we should be using `mb_strlen()` for our string size checks.
...
Built from https://develop.svn.wordpress.org/trunk@32306
git-svn-id: http://core.svn.wordpress.org/trunk@32277 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-27 14:42:27 +00:00
Gary Pendergast
95d5fa28b4
WPDB: Sanity check that any strings being stored in the DB are not too long to store correctly.
...
Built from https://develop.svn.wordpress.org/trunk@32299
git-svn-id: http://core.svn.wordpress.org/trunk@32270 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-27 14:03:27 +00:00
Gary Pendergast
16bdf0ab2c
WPDB: When sanity checking a string by sending it to MySQL for conversion checks, the incorrect data structure was being returned from `wpdb::strip_invalid_text()`, causing all write queries to fail for some character sets when the query contained non-ASCII characters.
...
See #32051 .
Built from https://develop.svn.wordpress.org/trunk@32261
git-svn-id: http://core.svn.wordpress.org/trunk@32232 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-22 15:02:28 +00:00
Gary Pendergast
5775586646
WPDB: When deciding if a query needs extra sanity checking based on collation, we can quickly return if the query is entirely ASCII characters.
...
See #32029 .
Built from https://develop.svn.wordpress.org/trunk@32233
git-svn-id: http://core.svn.wordpress.org/trunk@32207 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-21 05:24:26 +00:00
Gary Pendergast
6f38333ab2
WPDB: When deciding if a query needs extra sanity checking based on collation, we can quickly return if it's a query that will never return user data.
...
Fixes #32029 .
Built from https://develop.svn.wordpress.org/trunk@32232
git-svn-id: http://core.svn.wordpress.org/trunk@32206 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-21 05:11:27 +00:00
Gary Pendergast
2bbd21f543
WPDB: When sanity checking read queries, there are some collations we can skip, for improved performance.
...
Props pento, nacin.
See #21212 .
Built from https://develop.svn.wordpress.org/trunk@32162
git-svn-id: http://core.svn.wordpress.org/trunk@32137 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-20 04:46:25 +00:00
Dominik Schilling
64fc7294b6
Use HTTPS URLs for codex.wordpress.org.
...
see #27115 .
Built from https://develop.svn.wordpress.org/trunk@32116
git-svn-id: http://core.svn.wordpress.org/trunk@32095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-12 21:29:32 +00:00
Drew Jaynes
8f0e359618
Remove unnecessary inline `@see` tags from a variety of parameter and return descriptions in wp-includes/wp-db.php.
...
See #31888 .
Built from https://develop.svn.wordpress.org/trunk@32050
git-svn-id: http://core.svn.wordpress.org/trunk@32029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-05 17:17:27 +00:00
Drew Jaynes
777ad7647c
Remove unnecessary inline `@see` tags from the `wpdb::process_field_charsets()` DocBlock.
...
See [30345]. See #31888 .
Built from https://develop.svn.wordpress.org/trunk@32049
git-svn-id: http://core.svn.wordpress.org/trunk@32028 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-05 17:15:26 +00:00
Gary Pendergast
6a9d744b42
WPDB: When we check the character set of a column, and find that it's `utf8mb4`, we should also check that the current connection supports `utf8mb4`. It's possible that the environment may have changed since upgrading the DB, so we can fall back to `utf8` when that happens.
...
Fixes #31771 .
Built from https://develop.svn.wordpress.org/trunk@31947
git-svn-id: http://core.svn.wordpress.org/trunk@31926 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 02:22:31 +00:00
Gary Pendergast
2a8a5c963a
WPDB: When we're checking to see if the MySQL client library supports `utf8mb4`, we need a separate check for `mysqlnd` versions, which using different version numbering to `libmysqlclient`.
...
Props MattyRob.
Fixes #31644 .
Built from https://develop.svn.wordpress.org/trunk@31939
git-svn-id: http://core.svn.wordpress.org/trunk@31918 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-31 09:18:27 +00:00
Gary Pendergast
8c7ffba3b2
WPDB: HHVM doesn't support passing a DB link to `mysqli_get_client_version()`. While we usually pass a DB link to every `ext/mysql` and `mysqli` function call, we don't really need to do that here, as there's no way for the client library to change mid page load.
...
Another fun fact is that `mysql_get_client_version()` doesn't exist, but `mysql_get_client_info()` (along with `mysqli_get_client_info()') do. So, we're switching to them, in order to add a pleasing symmetry to the client version check.
Fixes #31644
Built from https://develop.svn.wordpress.org/trunk@31783
git-svn-id: http://core.svn.wordpress.org/trunk@31763 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-15 12:20:26 +00:00
Gary Pendergast
980668299c
WPDB: When checking to see if we can use utf8mb4, we also need to make sure PHP's MySQL client library is capable of using utf8mb4.
...
See #21212
Built from https://develop.svn.wordpress.org/trunk@31391
git-svn-id: http://core.svn.wordpress.org/trunk@31372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 22:28:28 +00:00
Gary Pendergast
04a0e21734
WPDB: The `mysqli_query()` call in `wpdb::set_charset()` had the parameters the wrong way around.
...
Built from https://develop.svn.wordpress.org/trunk@31374
git-svn-id: http://core.svn.wordpress.org/trunk@31355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 01:26:29 +00:00
Gary Pendergast
55742904c0
WPDB: When we're removing invalid text text from strings with multiple different character sets, `wpdb::strip_invalid_text()` wasn't correctly switching connection character sets.
...
Fixes #31262
Built from https://develop.svn.wordpress.org/trunk@31371
git-svn-id: http://core.svn.wordpress.org/trunk@31352 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 00:34:25 +00:00
Gary Pendergast
b2cf823105
WPDB: If a site is using the `utf8` charset, and their version of MySQL supports `utf8mb4`, auto-upgrade them to `utf8mb4`.
...
This patch also resizes some indexes, to allow for the 767 byte index size limit in standard MySQL installs.
See #21212
Built from https://develop.svn.wordpress.org/trunk@31349
git-svn-id: http://core.svn.wordpress.org/trunk@31330 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 04:51:22 +00:00
Drew Jaynes
d7a51b3fc2
Add missing descriptions to the `$blogid` and `$siteid` property DocBlocks in the `wpdb` class.
...
Props ipm-frommen.
See #31008 .
Built from https://develop.svn.wordpress.org/trunk@31294
git-svn-id: http://core.svn.wordpress.org/trunk@31275 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-29 11:35:22 +00:00
Gary Pendergast
c777f6a29c
WPDB: When sanity checking a string, check that it's a string, first - PHP notices can occur if an array or object is handled like a string.
...
See #21212
Built from https://develop.svn.wordpress.org/trunk@31094
git-svn-id: http://core.svn.wordpress.org/trunk@31075 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 08:45:22 +00:00
Gary Pendergast
83a229084f
WPDB: When `wpdb::query()` needs to sanity check a query string, make sure to run `wpdb:flush()` afterwards, to ensure the results from sanity check queries aren't mixed up with the results for the user query.
...
See #21212 .
Fixes #30948 .
Built from https://develop.svn.wordpress.org/trunk@31093
git-svn-id: http://core.svn.wordpress.org/trunk@31074 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 08:32:22 +00:00
Scott Taylor
60b0cd7943
The keyword `elseif` should be used instead of `else if` so that all control keywords look like single words.
...
This was a mess, is now standardized across the codebase, except for a few 3rd-party libs.
See #30799 .
Built from https://develop.svn.wordpress.org/trunk@31090
git-svn-id: http://core.svn.wordpress.org/trunk@31071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 07:05:25 +00:00
Gary Pendergast
0e806f1695
WPDB: To ensure we're not asking MySQL to read data using queries that it can't handle, make sure that we run all read queries through the character set sanity checks.
...
See #21212 .
Built from https://develop.svn.wordpress.org/trunk@31051
git-svn-id: http://core.svn.wordpress.org/trunk@31032 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-05 04:40:22 +00:00
Gary Pendergast
9704ee2a5c
WPDB Docs: Update the @since version from 4.1.0 to 4.2.0, for all the methods/members that were punted from 4.1.
...
See #21212 .
Built from https://develop.svn.wordpress.org/trunk@31050
git-svn-id: http://core.svn.wordpress.org/trunk@31031 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-05 03:51:22 +00:00
Drew Jaynes
7c01a454ce
Improve inline documentation for `wpdb::has_cap()`.
...
Adds a changelog entry for the addition of the 'utf8mb4' feature, accepted values for `$db_cap`, and a return description.
Props kpdesign.
See #21212 .
Built from https://develop.svn.wordpress.org/trunk@30768
git-svn-id: http://core.svn.wordpress.org/trunk@30758 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-07 05:23:22 +00:00
Drew Jaynes
23707b1ada
Convert various uses of `(optional)` in core parameter descriptions to use the style prescribed in the inline documentation standards for PHP.
...
The style for marking parameters optional in inline PHP docs is: `@param type $var Optional. Description. Accepts. Default.`, where Accepts can be omitted on a case-by-case basis.
Props coffee2code.
Fixes #30591 .
Built from https://develop.svn.wordpress.org/trunk@30753
git-svn-id: http://core.svn.wordpress.org/trunk@30743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-06 21:24:45 +00:00
Gary Pendergast
de6d84935f
WPDB: When looking up the character set for a table or column, make sure we send the table name to MySQL in the correct case, as MySQL can be configured with case sensitive table names.
...
Fixes #30538 .
Built from https://develop.svn.wordpress.org/trunk@30699
git-svn-id: http://core.svn.wordpress.org/trunk@30689 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-02 03:00:23 +00:00
Gary Pendergast
a0c12d0c61
WPDB: Before fetching results, make sure we have a valid result resource to fetch them from.
...
Fixes #27982 .
Built from https://develop.svn.wordpress.org/trunk@30677
git-svn-id: http://core.svn.wordpress.org/trunk@30667 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-01 00:03:22 +00:00
Scott Taylor
b63c789e88
Improve the `@param` docs for `src/wp-includes/wp-db.php`.
...
See #30224 .
Built from https://develop.svn.wordpress.org/trunk@30664
git-svn-id: http://core.svn.wordpress.org/trunk@30654 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 21:55:23 +00:00
Drew Jaynes
9d1a4afda8
4.1 Docs Audit: Improve inline documentation for various `wpdb` methods.
...
#30469 .
Built from https://develop.svn.wordpress.org/trunk@30624
git-svn-id: http://core.svn.wordpress.org/trunk@30614 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-28 12:34:25 +00:00
Gary Pendergast
8990b1c1fc
WPDB: Remove the addition of `STRICT_ALL_TABLES`, added in [30400]. This proved to be incompatible with too many plugins, as well as being incompatible with MySQL 5.7.
...
See #21212 .
Built from https://develop.svn.wordpress.org/trunk@30587
git-svn-id: http://core.svn.wordpress.org/trunk@30577 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-27 11:00:23 +00:00
Drew Jaynes
4b6abbaff4
Ensure inline code is markdown-escaped as such, HTML tags are removed from summaries, and that code snippets in descriptions are properly indented.
...
Affects DocBlocks for the following core elements:
* Backtick-escape code snippets in the description for `get_object_taxonomies()`
* Backtick-escape inline code in a markdown-formatted unordered list in the description for `get_taxonomy_labels()`
* Remove an HTML tag from the summary for the `Walker_Category_Checklist` class
* Remove an HTML tag from the summary for `wp_category_checklist()`, various formatting
* Remove an HTML tag from the summary for `wp_terms_checklist()`
* Backtick-escape an HTML tag in the description for `wp_popular_terms_checklist()`
* Remove HTML tags from the summaries for `page_template_dropdown()`, `parent_dropdown()`, and `wp_dropdown_roles()`
* Backtick-escape HTML tags in a parameter description for `add_settings_error()`
* Various formatting in the description and summary for `settings_errors()`
* Markdown-indent code snippets in the descriptions for `wpdb::prepare()`, `wpdb::insert()`, `wpdb::replace()`, `wpdb::update()`, and `wpdb::delete()`
* Backtick-escape an HTML tag in a parameter description for `login_header()`
* Remove HTML tags from the summaries for the `lostpassword_form` and `signup_header` hooks
Props rarst.
See #30473 .
Built from https://develop.svn.wordpress.org/trunk@30546
git-svn-id: http://core.svn.wordpress.org/trunk@30535 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-24 06:31:21 +00:00
Gary Pendergast
f17d168a0f
WPDB: Force `STRICT_ALL_TABLES` to be enabled as soon as we connect to the MySQL server.
...
This improves data integrity when inserting and updating rows in the database, particularly when trying to insert emoji into posts stored with character sets that don't support emoji.
See #21212 .
Built from https://develop.svn.wordpress.org/trunk@30400
git-svn-id: http://core.svn.wordpress.org/trunk@30396 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 01:46:24 +00:00
Gary Pendergast
739a20a659
WPDB: When a `db.php` drop-in is being used, and it doesn't explicitly define itself as connecting to MySQL, skip the character set checks. This ensures that existing drop-ins won't accidentally run checks that they don't support.
...
See #21212 .
Built from https://develop.svn.wordpress.org/trunk@30375
git-svn-id: http://core.svn.wordpress.org/trunk@30372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-18 03:38:23 +00:00
Gary Pendergast
14bf4939e4
WPDB: When removing invalid characters from utf8 strings in older versions of PHP, the regex was too large to be compiled.
...
See #21212
Built from https://develop.svn.wordpress.org/trunk@30366
git-svn-id: http://core.svn.wordpress.org/trunk@30365 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-17 11:58:22 +00:00
Gary Pendergast
ecc27d0b27
When creating a post containing emoji, the post can be saved incorrectly if MySQL isn't using a character set that supports emoji.
...
This change prevents the save from occurring, so it can be handled correctly in the UI.
See #21212 .
Built from https://develop.svn.wordpress.org/trunk@30345
git-svn-id: http://core.svn.wordpress.org/trunk@30344 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-14 21:28:22 +00:00
Gary Pendergast
21467af4db
wpdb: When flushing results on a mysqli connection, make sure that `wpdb::$dbh` is a valid mysqli connection handle.
...
Fixes a unit test failure introduced in [30297].
Fixes #28155 .
Props soulseekah.
Built from https://develop.svn.wordpress.org/trunk@30299
git-svn-id: http://core.svn.wordpress.org/trunk@30298 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-11 02:17:28 +00:00
Gary Pendergast
0013150649
`wpdb::flush()` was not flushing results correctly when using mysqli.
...
This change also allows stored procedures or queries made with `mysqli_multi_query()` to be flushed.
Includes unit tests.
Fixes #28155 .
Props soulseekah.
Built from https://develop.svn.wordpress.org/trunk@30297
git-svn-id: http://core.svn.wordpress.org/trunk@30296 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-10 05:40:23 +00:00
Gary Pendergast
f572927353
WPDB's `__get()` function should perform strict comparisons against member names
...
Built from https://develop.svn.wordpress.org/trunk@30292
git-svn-id: http://core.svn.wordpress.org/trunk@30291 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-09 12:04:23 +00:00
Drew Jaynes
f8657d5890
Remove redundant and erroneous `@uses` tag from most core inline documentation.
...
Per our inline documentation standards, no further use of the `@uses` tag is recommended as used and used-by relationships can be derived through other means. This removes most uses of the tag in core documentation, with remaining tags to be converted to `@global` or `@see` as they apply.
Fixes #30191 .
Built from https://develop.svn.wordpress.org/trunk@30105
git-svn-id: http://core.svn.wordpress.org/trunk@30105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-30 01:05:24 +00:00
Sergey Biryukov
bf856e3a62
Translate some previously untranslated _doing_it_wrong() messages.
...
props georgestephanis.
fixes #25614 .
Built from https://develop.svn.wordpress.org/trunk@29840
git-svn-id: http://core.svn.wordpress.org/trunk@29604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-05 21:06:15 +00:00
Mark Jaquith
0d3b83551f
Use HTTPS URLs for core.trac.wordpress.org
...
see #27115
Built from https://develop.svn.wordpress.org/trunk@29788
git-svn-id: http://core.svn.wordpress.org/trunk@29560 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-29 13:28:16 +00:00
Sergey Biryukov
740df917fa
Remove unnecessary semicolon.
...
props ixkaito.
fixes #29784 .
Built from https://develop.svn.wordpress.org/trunk@29784
git-svn-id: http://core.svn.wordpress.org/trunk@29556 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-29 10:30:16 +00:00
Andrew Nacin
53f1ba51e4
DB: Revert [28814] and require a WHERE for wpdb::update().
...
see #26106 .
Built from https://develop.svn.wordpress.org/trunk@29664
git-svn-id: http://core.svn.wordpress.org/trunk@29438 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-02 04:56:15 +00:00
Drew Jaynes
3665b5a1a1
Add periods to short descriptions for magic methods added in [28501], [28521], and [28524].
...
See #22234 and #28885 .
Built from https://develop.svn.wordpress.org/trunk@29165
git-svn-id: http://core.svn.wordpress.org/trunk@28949 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-14 01:12:14 +00:00
Drew Jaynes
c5a59037f1
Inline documentation cleanup for 4.0 audit.
...
Various improvements:
* Adds `@see` reference for `wp_list_comments()` in 'wp_list_comments_args' filter docs, added in [28285]
* Various phpDoc tweaks for the 'run_wptexturize' filter docs, added in [28715]
* Sentence and wrapping changes for `is_https_url()`, added in [28894]
* Documents the `$args` parameter for `wp_dropdown_languages()`, added in [29007]
* Adds a period to the parameter description for `_update_posts_count_on_delete()`, added in [28835]
* Documents a global in `is_customize_preview()`, added in [28999]
* phpDoc tweaks, adds an access modifier for `wpdb::esc_like()`, added in [28711]
See #28885 .
Built from https://develop.svn.wordpress.org/trunk@29163
git-svn-id: http://core.svn.wordpress.org/trunk@28947 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-14 01:02:15 +00:00
Andrew Nacin
b35982cbff
Simplify the setup-config.php UI flow and load process.
...
When no configuration file is detected, we now redirect to setup-config.php. This process now uses the WordPress bootstrap, rather than a set of fragile hacks.
fixes #28740 .
Built from https://develop.svn.wordpress.org/trunk@28978
git-svn-id: http://core.svn.wordpress.org/trunk@28767 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-03 19:57:14 +00:00
Scott Taylor
3ebd519a3e
In `$wpdb->update()`, prevent explosions when `$where` is empty.
...
Adds unit tests.
Props UmeshSingla, wonderboymusic.
Fixes #26106
Built from https://develop.svn.wordpress.org/trunk@28814
git-svn-id: http://core.svn.wordpress.org/trunk@28621 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-24 00:24:14 +00:00
Scott Taylor
82bdc78500
`LIKE` escape sanity:
...
* Deprecate `like_escape()`
* Add a method to `$wpdb`, `->esc_like()`, and add unit tests
`$wpdb::esc_like()` is not used yet. As such, many unit tests will throw `Unexpected deprecated notice for like_escape`. Subsequent commits will alleviate this.
Props miqrogroove.
See #10041 .
Built from https://develop.svn.wordpress.org/trunk@28711
git-svn-id: http://core.svn.wordpress.org/trunk@28527 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-10 00:30:15 +00:00
Drew Jaynes
290b377a31
Mark the `MYSQL_NEW_LINK` constant as deprecated in 3.9+ as no equivalent to the `$new_link` parameter exists in `mysqli_*` functions.
...
Fixes #27933 .
Built from https://develop.svn.wordpress.org/trunk@28657
git-svn-id: http://core.svn.wordpress.org/trunk@28475 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-04 05:00:15 +00:00
Scott Taylor
fd5e6b5f6b
In `wpdb`, make some things explicitly `public`. Do not set anything to `private`. This would instantly blow up `hyperdb` in the wild.
...
See #27881 , #22234 .
Built from https://develop.svn.wordpress.org/trunk@28526
git-svn-id: http://core.svn.wordpress.org/trunk@28352 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 15:36:13 +00:00
Scott Taylor
361e3e1ee6
In `wpdb`, remove dead code:
...
* In `->tables()`, `break` is unreachable after `return`
* In `->query()`, `$return` is always set, so doesn't need an initial value of `0`
* In `->delete()`, `$bits` is unused
See #27882 .
Built from https://develop.svn.wordpress.org/trunk@28339
git-svn-id: http://core.svn.wordpress.org/trunk@28167 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-07 03:56:14 +00:00
Drew Jaynes
a5366db845
Improve inline documentation for the wpdb::$show_errors property.
...
Note that SQL/DB errors are displayed by default if both WP_DEBUG and WP_DEBUG_DISPLAY evaluate to true.
Props ericlewis.
Fixes #16615 .
Built from https://develop.svn.wordpress.org/trunk@28243
git-svn-id: http://core.svn.wordpress.org/trunk@28071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-02 12:19:15 +00:00
Andrew Nacin
1860b6a007
Rename USE_EXT_MYSQL to WP_USE_EXT_MYSQL. see #21663 .
...
Built from https://develop.svn.wordpress.org/trunk@28022
git-svn-id: http://core.svn.wordpress.org/trunk@27852 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 22:27:15 +00:00
Drew Jaynes
b5ecc00b32
PHPDoc fixes for functionality in wp-includes/wp-db.php added in 3.9.
...
See #27700 .
Built from https://develop.svn.wordpress.org/trunk@28016
git-svn-id: http://core.svn.wordpress.org/trunk@27846 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 22:02:15 +00:00
Andrew Nacin
10b8c92b1e
wpdb: Don't pass a second argument to mysqli_fetch_field().
...
props pento.
fixes #27693 .
Built from https://develop.svn.wordpress.org/trunk@28002
git-svn-id: http://core.svn.wordpress.org/trunk@27832 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 20:22:28 +00:00
Andrew Nacin
ac60fcb315
Database: Fall back from ext/mysqli to ext/mysql if the connection fails.
...
This allows us to avoid breaking a site that works under ext/mysql but is misconfigured for ext/mysqli.
props pento.
see #21663 .
Built from https://develop.svn.wordpress.org/trunk@27935
git-svn-id: http://core.svn.wordpress.org/trunk@27765 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-03 21:58:16 +00:00
Andrew Nacin
34700cd7fb
Database: Add $allow_bail argument to wpdb::check_connection() to match the connect method.
...
props DrProtocols, pento.
fixes #27240 .
Built from https://develop.svn.wordpress.org/trunk@27925
git-svn-id: http://core.svn.wordpress.org/trunk@27755 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-03 04:06:14 +00:00
Sergey Biryukov
c099c5a031
Avoid a warning in wpdb::db_connect(). before_needle parameter of strstr() was added in PHP 5.3.
...
props klihelp, pento.
fixes #27277 .
Built from https://develop.svn.wordpress.org/trunk@27503
git-svn-id: http://core.svn.wordpress.org/trunk@27346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-11 19:27:15 +00:00
Andrew Nacin
291b1a8f83
Make OBJECT a case sensitive constant, for HHVM compatibility and general sanity.
...
Support `object` explicitly, and other forms using a fallback in wpdb.
fixes #27231 .
Built from https://develop.svn.wordpress.org/trunk@27377
git-svn-id: http://core.svn.wordpress.org/trunk@27226 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-03 17:36:13 +00:00
Andrew Nacin
0c16c0477b
Reference https://wordpress.org rather than http://wordpress.org in strings, links, comments, etc.
...
props Ipstenu, markjaquith.
see #27115 .
Built from https://develop.svn.wordpress.org/trunk@27369
git-svn-id: http://core.svn.wordpress.org/trunk@27219 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-03 02:34:27 +00:00
Andrew Nacin
4d9bf200d7
When failing to reconnect to a server that has gone away, simply fail the query once we've passed template_redirect, rather than wp_die().
...
props pento.
see #5932 .
Built from https://develop.svn.wordpress.org/trunk@27279
git-svn-id: http://core.svn.wordpress.org/trunk@27135 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-26 04:54:14 +00:00
Andrew Nacin
cb52ddbf08
Add a constant to disable mysqli for testing purposes. see #21663 .
...
Built from https://develop.svn.wordpress.org/trunk@27278
git-svn-id: http://core.svn.wordpress.org/trunk@27134 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-26 04:20:14 +00:00
Andrew Nacin
4c9e7f81e1
wpdb: set dbh to null when the mysqli connection fails. see #21663 .
...
Built from https://develop.svn.wordpress.org/trunk@27277
git-svn-id: http://core.svn.wordpress.org/trunk@27133 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-26 04:15:18 +00:00
Andrew Nacin
c51ce41c59
Use mysqli for WordPress development versions, regardless of PHP version, to increase testing footprint.
...
Allow the lack of ext/mysql to pass wp_check_php_mysql_versions().
see #21663 .
Built from https://develop.svn.wordpress.org/trunk@27257
git-svn-id: http://core.svn.wordpress.org/trunk@27114 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-25 15:53:13 +00:00
Andrew Nacin
768db95280
Use ext/mysqli in PHP 5.5 or greater. Expect minor explosions.
...
props aaroncampbell, pento.
see #21663 .
Built from https://develop.svn.wordpress.org/trunk@27250
git-svn-id: http://core.svn.wordpress.org/trunk@27107 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-25 00:40:13 +00:00
Andrew Nacin
1b9dda7d75
Declare $wpdb->base_prefix.
...
props DavidAnderson.
fixes #16762 .
Built from https://develop.svn.wordpress.org/trunk@27249
git-svn-id: http://core.svn.wordpress.org/trunk@27106 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-25 00:30:13 +00:00
Drew Jaynes
aa8b462a95
Fixes for hooks documentation in wp-includes/wp-db.php.
...
See #26869 , #25229 and [25284].
Built from https://develop.svn.wordpress.org/trunk@27147
git-svn-id: http://core.svn.wordpress.org/trunk@27014 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-09 20:51:13 +00:00
Andrew Nacin
43c7993c1a
When the MySQL server has "gone away," attempt to reconnect and retry the query.
...
props pento.
see #5932 .
Built from https://develop.svn.wordpress.org/trunk@27075
git-svn-id: http://core.svn.wordpress.org/trunk@26948 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-02 22:07:12 +00:00
Andrew Nacin
17828876fa
Add a comment for [27073] as someone will inevitably complain it is tricked by % in a string. see #25604 .
...
Built from https://develop.svn.wordpress.org/trunk@27074
git-svn-id: http://core.svn.wordpress.org/trunk@26947 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-02 21:48:13 +00:00
Andrew Nacin
9c4a97c676
Throw an incorrect usage notice when the query argument of wpdb::prepare() does not include a placeholder.
...
props ounziw.
fixes #25604 .
Built from https://develop.svn.wordpress.org/trunk@27073
git-svn-id: http://core.svn.wordpress.org/trunk@26946 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-02 21:47:11 +00:00
Andrew Nacin
9f250b2ef7
Ensure compatibility with MySQL 5.6 which has stricter SQL modes by default.
...
Disables NO_ZERO_DATE, ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, STRICT_ALL_TABLES, TRADITIONAL. Introduces wpdb::set_sql_mode() with an incompatible_sql_modes filter so a plugin can alter the set mode after the fact.
props pento.
fixes #26847 .
Built from https://develop.svn.wordpress.org/trunk@27072
git-svn-id: http://core.svn.wordpress.org/trunk@26945 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-02 21:39:13 +00:00
Scott Taylor
678ef2b1e1
In `wpdb::db_connect()`, allow the loading of a custom database error template - this is already allowed in `dead_db()`.
...
In `dead_db()`, move the call to `wp_load_translations_early()` before the inclusion of the `db-error.php` file to allow translation in both locations before the template is loaded.
Props sbruner, kovshenin.
Fixes #25703 .
Built from https://develop.svn.wordpress.org/trunk@27056
git-svn-id: http://core.svn.wordpress.org/trunk@26929 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-29 05:28:12 +00:00
Scott Taylor
fc7a7b8972
When `WP_DEBUG` is set to `true`, suppress deprecated errors from firing when calling `mysql_connect()`, which is officially deprecated in PHP 5.5. We will remove this shameful code as soon as is humanly possible.
...
Props wonderboymusic. Extra love to tierra and nacin.
Fixes #26322 .
Built from https://develop.svn.wordpress.org/trunk@26512
git-svn-id: http://core.svn.wordpress.org/trunk@26405 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-02 00:09:10 +00:00
Andrew Nacin
20b0153753
Document the 'query' filter in wp-db.
...
props natejacobs.
see #25229 .
Built from https://develop.svn.wordpress.org/trunk@25284
git-svn-id: http://core.svn.wordpress.org/trunk@25248 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-06 17:07:09 +00:00
Andrew Nacin
f39e2c28ce
Reset $wpdb->insert_id on a failed INSERT or REPLACE. See [24459] [24494].
...
git-svn-id: http://core.svn.wordpress.org/trunk@24872 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-29 18:14:05 +00:00
Andrew Nacin
eb822723ae
Check that we have a database connection in wpdb::_real_escape(). see #24773 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@24758 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-20 20:16:21 +00:00
Andrew Nacin
0cb7fbacc8
Ensure _deprecated_function() exists before calling it. wpdb currently does not have a full functions.php dependency, and this can break external inclusions. see #24774 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@24724 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-17 21:08:05 +00:00
Andrew Nacin
3b4f3dea29
Deprecate wpdb::escape() in favor of wpdb::prepare() and esc_sql(). fixes #24774 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@24718 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-16 17:44:42 +00:00
Andrew Nacin
dffd2b1bd9
Always use mysql_real_escape_string(), even when DB_CHARSET is not properly set. fixes #24773 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@24712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-16 14:07:53 +00:00
Andrew Nacin
2ac8311b74
Partially revert [24459] and only flush insert_id on the next insert or replace query, as we had been doing before. (Yes, this is not how mysql_insert_id() works.)
...
git-svn-id: http://core.svn.wordpress.org/trunk@24494 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-21 18:22:26 +00:00
Andrew Nacin
9f10b33324
Have wpdb::flush() reset more variables.
...
git-svn-id: http://core.svn.wordpress.org/trunk@24459 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-21 01:32:54 +00:00
Sergey Biryukov
e65c4190f1
Remove extraneous function parameters in the wpdb class. props rlerdorf. see #24210 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@24121 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-29 00:31:56 +00:00
Sergey Biryukov
2bcf4b8802
Only show database errors if WP_DEBUG_DISPLAY is enabled. props cheeserolls, storkontheroof, crazycoders. fixes #22203 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@24027 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-18 09:51:02 +00:00
Andrew Nacin
e588812a49
Enforce a minimum of two arguments for wpdb::prepare(). The first argument is the query (or fragment thereof), which is required. Additional arguments are values to substitute into placeholders.
...
This will generate E_WARNINGs for insufficient arguments when prepare() is called with no additional arguments. This should discourage improper uses of prepare() under the guise of safely running a query.
props xknown. fixes #22262 .
git-svn-id: http://core.svn.wordpress.org/trunk@22429 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-07 19:30:59 +00:00
Andrew Nacin
d85554c5f1
When replacing floats in wpdb::prepare(), avoid escaped placeholders (%%f). props SergeyBiryukov. fixes #19861 .
...
git-svn-id: http://core.svn.wordpress.org/trunk@22304 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-25 20:52:50 +00:00