<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>PHP</title><link>http://blogs.labo-dotnet.com/gg00xiv/category/428.aspx</link><description>PHP Hypertext Preprocessor</description><managingEditor>Grégory Ghez</managingEditor><dc:language>fr-FR</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>Grégory Ghez</dc:creator><title>Récupérer le dernier ID autoincrémenté sur une base SQLServer en PHP</title><link>http://blogs.labo-dotnet.com/gg00xiv/archive/2005/04/28/5500.aspx</link><pubDate>Thu, 28 Apr 2005 17:56:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/gg00xiv/archive/2005/04/28/5500.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/gg00xiv/comments/5500.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/gg00xiv/archive/2005/04/28/5500.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/gg00xiv/comments/commentRss/5500.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/gg00xiv/services/trackbacks/5500.aspx</trackback:ping><description>&lt;P&gt;Pour ce qui concerne les bases de donn&amp;#233;es &lt;STRONG&gt;MySQL&lt;/STRONG&gt;, il suffit d'appeler la fonction &lt;STRONG&gt;mysql_insert_id&lt;/STRONG&gt;().&lt;/P&gt;
&lt;P&gt;Malheureusement, pour les bases de donn&amp;#233;es &lt;STRONG&gt;MSSQL&lt;/STRONG&gt; (SQL Server), il n'existe pas de fonction &lt;STRONG&gt;mssql_insert_id&lt;/STRONG&gt;(), c'est pourquoi, nous allons voir comment r&amp;#233;cup&amp;#233;rer l'id autoincr&amp;#233;ment&amp;#233; du dernier &amp;#233;l&amp;#233;ment ins&amp;#233;r&amp;#233; dans une table:&lt;/P&gt;
&lt;P&gt;Nous allons d&amp;#233;velopper notre propre fonction mssql_insert_id:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;STRONG&gt;function mssql_insert_id()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;$res = mssql_query("SELECT @@IDENTITY as id");&lt;BR&gt;&amp;nbsp;if ($data = mssql_fetch_array($res))&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return $data["id"];&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;else&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return -1;&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;}&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Et voil&amp;#224;, le tour est jou&amp;#233;, vous pouvez substituer cette fonction pour MSSQL, comme pour MYSQL avec mysql_insert_id.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bonne prog !&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/gg00xiv/aggbug/5500.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Grégory Ghez</dc:creator><title>Header already sent...</title><link>http://blogs.labo-dotnet.com/gg00xiv/archive/2004/11/13/4849.aspx</link><pubDate>Sat, 13 Nov 2004 11:57:00 GMT</pubDate><guid>http://blogs.labo-dotnet.com/gg00xiv/archive/2004/11/13/4849.aspx</guid><wfw:comment>http://blogs.labo-dotnet.com/gg00xiv/comments/4849.aspx</wfw:comment><comments>http://blogs.labo-dotnet.com/gg00xiv/archive/2004/11/13/4849.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.labo-dotnet.com/gg00xiv/comments/commentRss/4849.aspx</wfw:commentRss><trackback:ping>http://blogs.labo-dotnet.com/gg00xiv/services/trackbacks/4849.aspx</trackback:ping><description>&lt;P&gt;Lorsque vous utilisez la fonction &lt;STRONG&gt;&lt;EM&gt;header&lt;/EM&gt;&lt;/STRONG&gt; ou tout autres m&amp;#233;thode envoyant des donn&amp;#233;es dans l'ent&amp;#234;te d'une r&amp;#233;ponse, il vous est peut&amp;#234;tre d&amp;#233;j&amp;#224; arriv&amp;#233; de re&amp;#231;evoir une erreur du genre:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="Courier New"&gt;Header already sent...&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Deux raisons &amp;#224; cela:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Vous avez effectuer des &lt;EM&gt;&lt;STRONG&gt;echo&lt;/STRONG&gt;&lt;/EM&gt; ou &lt;STRONG&gt;&lt;EM&gt;print&lt;/EM&gt;&lt;/STRONG&gt; avant d'appeler ces m&amp;#233;thodes, ou bien vous avez &amp;#233;crit du code HTML en dehors des balises PHP avant ces m&amp;#233;thodes, ce qui revient au m&amp;#234;me. 
&lt;LI&gt;Vous avez laisser une ligne vide ou bien un espace tout en haut de votre document bien que ce dernier commence par du code php et les appels aux dites m&amp;#233;thodes, ce qui revient au m&amp;#234;me que d'avoir effectuer des &lt;STRONG&gt;&lt;EM&gt;echo&lt;/EM&gt;&lt;/STRONG&gt; ou &lt;STRONG&gt;&lt;EM&gt;print&lt;/EM&gt;&lt;/STRONG&gt; avec des espaces ou lignes vides.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Vous ne savez toujours pas &amp;#224; ce stade pourquoi le fait d'avoir &amp;#233;crit du HTML avant d'appeler ces m&amp;#233;thodes modifiant le header pose un probl&amp;#232;me.&lt;/P&gt;
&lt;P&gt;C'est pourtant simple, lorsque PHP d&amp;#233;tecte que vous &amp;#233;crivez du code HTML de retour &amp;#224; votre client, il consid&amp;#232;re que les headers ont &amp;#233;t&amp;#233; d&amp;#233;finis et doivent &amp;#234;tre envoy&amp;#233;s. En effet, ces derniers doivent &amp;#234;tre envoy&amp;#233;s avant tout contenu de r&amp;#233;ponse (&lt;STRONG&gt;header&lt;/STRONG&gt;, puis&amp;nbsp;&lt;STRONG&gt;contenu&lt;/STRONG&gt; = &lt;STRONG&gt;r&amp;#233;ponse &amp;#224; la requ&amp;#234;te&lt;/STRONG&gt;).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Vous voil&amp;#224; pr&amp;#234;t &amp;#224; affronter la vie :)&lt;/P&gt;&lt;img src ="http://blogs.labo-dotnet.com/gg00xiv/aggbug/4849.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>