Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions WordPress/Docs/DB/RestrictedClassesStandard.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0"?>
<documentation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://phpcsstandards.github.io/PHPCSDevTools/phpcsdocs.xsd"
title="Restricted Database Classes"
>
<standard>
<![CDATA[
Avoid touching the database directly. Use the $wpdb object and associated functions instead of using classes from PHP database extensions.
]]>
</standard>
<code_comparison>
<code title="Valid: Using a WordPress function to fetch posts.">
<![CDATA[
$results = <em>get_posts()</em>;
]]>
</code>
<code title="Invalid: Using the mysqli class to fetch posts.">
<![CDATA[
$mysqli = <em>new mysqli</em>(
'localhost',
$user,
$pass,
$db
);

$results = $mysqli->query(
"SELECT * FROM wp_posts LIMIT 5"
);
]]>
</code>
</code_comparison>
<code_comparison>
<code title="Valid: Using WordPress functions to insert a post.">
<![CDATA[
<em>wp_insert_post</em>(
array( 'post_title' => 'Title' )
);

// or...

global $wpdb;
<em>$wpdb->insert</em>(
$wpdb->posts,
array( 'post_title' => 'Title' ),
array( '%s' )
);
]]>
</code>
<code title="Invalid: Using PDO class to insert a post.">
<![CDATA[
$pdo = <em>new PDO</em>(
$dsn,
$user,
$pass
);

$stmt = $pdo->prepare(
"INSERT INTO wp_posts (post_title)
VALUES (?)"
);

$stmt->execute( array( 'Title' ) );
]]>
</code>
</code_comparison>
</documentation>
Loading