This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
php:tutorials:sqlreadable [09.12.2013 09:39:54] 127.0.0.1 external edit |
php:tutorials:sqlreadable [26.03.2015 11:42:58] (current) yaslaw |
||
---|---|---|---|
Line 17: | Line 17: | ||
ids.id IS NULL;</code> | ids.id IS NULL;</code> | ||
- | Bei den meisten PHP-Codes die ich hier im Foruim gesehen habe, würde dass dann so aussehen | + | Bei den meisten PHP-Codes die ich hier im Forum gesehen habe, würde dass dann so aussehen |
<code php>$result=mysql_query("SELECT MIN(newIds.newId) AS firstNotUsedId FROM (SELECT id + 1 AS newId FROM test) AS newIds LEFT JOIN (SELECT id FROM test ) AS ids ON newIds.newId = ids.id WHERE ids.id IS NULL;");</code> | <code php>$result=mysql_query("SELECT MIN(newIds.newId) AS firstNotUsedId FROM (SELECT id + 1 AS newId FROM test) AS newIds LEFT JOIN (SELECT id FROM test ) AS ids ON newIds.newId = ids.id WHERE ids.id IS NULL;");</code> | ||
Na, viel vergnügen beim lesen. | Na, viel vergnügen beim lesen. | ||
Line 29: | Line 29: | ||
$result=mysql_query($sql);</code> | $result=mysql_query($sql);</code> | ||
- | Naja, viel lesbaerer ists noch nicht. Also ran an den Code und Zeileunmbrüche und Tabulatoren in den SQL-Code. Dazu eignet sich die [[http://ch2.php.net/manual/de/language.types.string.php#language.types.string.syntax.heredoc|Heredoc-Syntax]] hervorragend | + | Naja, viel lesbarer ists noch nicht. Also Zeileunmbrüche und Tabulatoren in den SQL-Code einfügen. Dazu eignet sich die [[http://ch2.php.net/manual/de/language.types.string.php#language.types.string.syntax.heredoc|Heredoc-Syntax]] hervorragend |
<code php>$sql = <<<SQL | <code php>$sql = <<<SQL | ||
SELECT | SELECT | ||
Line 45: | Line 45: | ||
Und wenn wir da jetzt noch Variabeln mit einbauen müssen, haben wir viele Varianten. Die Prepared-SQL-Statement-Methode lasse ich jetzt mal aus und gehe den rein prozedualen Weg. | Und wenn wir da jetzt noch Variabeln mit einbauen müssen, haben wir viele Varianten. Die Prepared-SQL-Statement-Methode lasse ich jetzt mal aus und gehe den rein prozedualen Weg. | ||
- | Um das zu demonstrieren erweitere ich mein Code um die Zeile '[mono]HAVING MIN(newIds.newId) > $myMinNumber[/mono]' um ein Minimum zu defineren. | + | Um das zu demonstrieren erweitere ich mein Code um die Zeile ''HAVING MIN(newIds.newId) > $myMinNumber'' um ein Minimum zu defineren. |
**1. Möglichkeit: Direkt in den String setzen** | **1. Möglichkeit: Direkt in den String setzen** |