<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									WordPress - Missing argument 2 for wpdb::prepare() - Web Development				            </title>
            <link>https://www.tweaking4all.nl/forum/web-development/wordpress-missing-argument-2-for-wpdbprepare/</link>
            <description>Tweaking4All.nl Discussie Forum</description>
            <language>nl-NL</language>
            <lastBuildDate>Mon, 10 Aug 2026 10:47:40 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>WordPress - Missing argument 2 for wpdb::prepare()</title>
                        <link>https://www.tweaking4all.nl/forum/web-development/wordpress-missing-argument-2-for-wpdbprepare/#post-14</link>
                        <pubDate>Fri, 02 Aug 2013 18:50:43 +0000</pubDate>
                        <description><![CDATA[Na een update naar WordPress 3.6, zag ik de volgende PHP foutmelding op mijn website:Missing argument 2 for wpdb::prepare()Eerst gaf ik WordPress 3.6 de schuld, maar na wat zoeken bleek het ...]]></description>
                        <content:encoded><![CDATA[<p>Na een update naar WordPress 3.6, zag ik de volgende PHP foutmelding op mijn website:<br><br>Missing argument 2 for wpdb::prepare()<br><br>Eerst gaf ik WordPress 3.6 de schuld, maar na wat zoeken bleek het dat ik zelf $wpdb-&gt;prepare niet correct gebruikte (zie ook <a href="http://make.wordpress.org/core/2012/12/12/php-warning-missing-argument-2-for-wpdb-prepare/" target="_blank">dit artikel</a>&nbsp;en <a href="http://wordpress.org/support/topic/good-but-has-a-bug-with-36" target="_blank">deze post</a> op de WP forums).<br><br>Quick fix:<br><br>Een aantal ontwikkelaars gebruikt $wpdb-&gt;prepare() zonder extra parameters;<br><br><pre>$wpdb-&gt;get_row($wpdb-&gt;prepare( "SELECT COUNT(*) FROM table" ));</pre></p><p>Het blijkt dus (na GOED lezen) dat de prepare() functie hier niets bijdraagt. Er is niets wat de functie moet schoonmaken. Normaal gesproken gebruik je de prepare() functies om waarden die je aan de query doorgeeft "safe" te maken (m.b.v. %d, %s, %f) zodat er geen foute zaken gebeuren als mensen proberen zogenaamde SQL-Injects te plaatsen.<br><br>De bovenstaande SQL query zou er eigenlijk zo uit moeten zien:<br><br><pre>$wpdb-&gt;get_row( "SELECT COUNT(*) FROM table" );</pre></p><p>Voor queries waar we waarden van de eindgebruiker doorgeven aan de query maakt ik zelf de volgende fout:<br><br><pre>$wpdb-&gt;prepare( "SELECT * FROM table WHERE id = ".$id." AND active=1" );</pre></p><p>Effectief deed dit helemaal NIKS. De functie moet daarom aangepast worden naar:<br><br><pre>$wpdb-&gt;prepare( "SELECT * FROM table WHERE id = %d AND active=1", $id );</pre></p><p>Dit zorgt ervoor dat queries veiliger zijn en dat de foutmelding niet meer verschijnt.<br></p>]]></content:encoded>
						                            <category domain="https://www.tweaking4all.nl/forum/web-development/">Web Development</category>                        <dc:creator>Hans</dc:creator>
                        <guid isPermaLink="true">https://www.tweaking4all.nl/forum/web-development/wordpress-missing-argument-2-for-wpdbprepare/#post-14</guid>
                    </item>
							        </channel>
        </rss>
		