Probleme mit SQL Statement
Probleme mit SQL Statement
am 11.12.2005 16:52:49 von pc-service-fischer
Hallo allerseits,
ich bekomme in einem CMS immer SQL Statementfehler
*Warning*: mysql_num_rows(): supplied argument is not a valid MySQL
result resource in
*C:\apachefriends\xampp\htdocs\web\cmsadmin\content_artikel\ includes\modul_art_img.php*
on line *82
Nun hab ich folgende Zeilen eingefügt um mehr zu erfahren.
echo $sql;
echo mysql_error();
Jetzt steht da:
SELECT * FROM tblcms_navigation WHERE publik=1 and parentid=ORDER BY
posYou have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near 'ORDER BY pos' at line 1
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result
resource in
C:\apachefriends\xampp\htdocs\web\includes\__module_engine.p hp on line 116
Das macht er in ca. 15 / 100 Fällen.
Das hier bemängelte sieht so aus.
$sql = "SELECT * FROM tblcms_navigation WHERE publik=1 and
parentid=".$pid. "ORDER BY pos";
$res=mysql_query($sql);
if (mySql_num_rows($res)!=0)
{....
Was mach ich falsch.
Gruß Jörg
Re: Probleme mit SQL Statement
am 11.12.2005 17:04:32 von Dirk Brosowski
Joerg Fischer schrieb:
>
> SELECT * FROM tblcms_navigation WHERE publik=1 and parentid=ORDER BY
> pos
Das ist kein SQL-Statement. Korrigiere dein Programm zur Erstellung.
Wenn du PHP-Hilfe suchst, bist du hier allerdings sehr OFF-Topic.
Greetings.
Re: Probleme mit SQL Statement
am 11.12.2005 17:08:54 von Andreas Kretschmer
Andreas
--
Diese Message wurde erstellt mit freundlicher Unterstützung eines freilau-
fenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert frei
von Micro$oft'schen Viren. (#97922 http://counter.li.org) GPG 7F4584DA
Was, Sie wissen nicht, wo Kaufbach ist? Hier: N 51.05082°, E 13.56889° ;-)
Re: Probleme mit SQL Statement
am 11.12.2005 17:30:02 von pc-service-fischer
Dirk Brosowski schrieb:
> Joerg Fischer schrieb:
>
>>
>> SELECT * FROM tblcms_navigation WHERE publik=1 and parentid=ORDER BY pos
>
>
> Das ist kein SQL-Statement. Korrigiere dein Programm zur Erstellung.
> Wenn du PHP-Hilfe suchst, bist du hier allerdings sehr OFF-Topic.
>
> Greetings.
sorry hab ich bemerkt und nochmal in der php group gepostet.
Gruß Jörg
Re: Probleme mit SQL Statement
am 11.12.2005 17:49:40 von Axel Schwenke
Joerg Fischer wrote:
> ich bekomme in einem CMS immer SQL Statementfehler
Darf man den Namen dieses Machwerks erfahren?
Dann kann man es gleich auf die schwarze Liste setzen.
> SELECT * FROM tblcms_navigation WHERE publik=1 and parentid=ORDER BY
> pos You have an error in your SQL syntax; check the manual that
> corresponds to your MySQL server version for the right syntax to use
> near 'ORDER BY pos' at line 1
....
> $sql = "SELECT * FROM tblcms_navigation WHERE publik=1 and
> parentid=".$pid. "ORDER BY pos";
Da kräuseln sich mir die Fußnägel:
1. SELECT *
2. `publik` aber `parentid`
3. Query bauen per Stringverkettung statt sprintf oder gleich
prepared Statements
4. Leerzeichen vor "ORDER BY" fehlt (das ist was MySQL anmeckert)
5. Vermutlich kein Schutz vor SQL-Injection
Da ist wesentlich mehr zu fixen als nur der Syntaxfehler...
XL
Re: Probleme mit SQL Statement
am 11.12.2005 18:07:45 von pc-service-fischer
Axel Schwenke schrieb:
> Joerg Fischer wrote:
>
>
>>ich bekomme in einem CMS immer SQL Statementfehler
>
>
> Darf man den Namen dieses Machwerks erfahren?
> Dann kann man es gleich auf die schwarze Liste setzen.
>
>
>>SELECT * FROM tblcms_navigation WHERE publik=1 and parentid=ORDER BY
>>pos You have an error in your SQL syntax; check the manual that
>>corresponds to your MySQL server version for the right syntax to use
>>near 'ORDER BY pos' at line 1
>
>
> ...
>
>
>>$sql = "SELECT * FROM tblcms_navigation WHERE publik=1 and
>>parentid=".$pid. "ORDER BY pos";
>
>
> Da kräuseln sich mir die Fußnägel:
>
> 1. SELECT *
> 2. `publik` aber `parentid`
> 3. Query bauen per Stringverkettung statt sprintf oder gleich
> prepared Statements
> 4. Leerzeichen vor "ORDER BY" fehlt (das ist was MySQL anmeckert)
> 5. Vermutlich kein Schutz vor SQL-Injection
>
> Da ist wesentlich mehr zu fixen als nur der Syntaxfehler...
>
>
> XL
Schade um deine Fußnägel ;-)
Das ganze nennt sich tentsys und stammt aus dem Buch "Web content
Management" von M. Schröer
Das mit dem Leerzeichen ist nicht der Grund, weil längst behoben und
Fehler noch da.
Der Grund ist das die Variable keinen Wert hat, warum weiß ich leider
noch nicht.
Gruß Jörg