 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
27.06.2005, 16:55
|
#1
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
mysql-abfrage in php
entweder bin ich blind, blöd oder keine ahnung was. einfache abfrage, ein link
Code:
<a href="mannschaft.php?mannschaft_id=1">1</a>
und dann folgt 2, 3 etc.
in der datei mannschaft:
Code:
<?php
$sql = "SELECT mannschaft,mannschaft_id FROM $table_mitglieder WHERE mannschaft_id=$mannschaft_id GROUP BY mannschaft_id";
//
$res = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($res, MYSQL_ASSOC))
{
echo $row['mannschaft'];
}
?>
als antwort bekomme ich von browser:
You have an error in your SQL syntax near '' at line 1 
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
27.06.2005, 16:58
|
#2
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Lass Dir doch die Query $sql mal ausgeben (echo $sql) ... vielleichst siehst Du dann, woran es liegt.
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
27.06.2005, 17:00
|
#3
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
ich wette, Du hast mannschaft_id nicht ausgelesen:
$mannschaft_id=(isset($_GET['mannschaft_id'])) ? $_GET['mannschaft_id'] : 0;
|
|
|
27.06.2005, 17:01
|
#4
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
hatte ich vergessen, in phpmyadmin funzt sauber, zb WHERE mannschaft_id=1 gibt nur die einser aus usw.
@boris: etwas genauer, bin noch anfänger in php&mysql
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
27.06.2005, 17:01
|
#5
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Wenn seine register_globals an sind und er diese URL benutzt, dürfte es nicht daran liegen rein theoretisch. 
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
27.06.2005, 17:03
|
#6
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Zitat:
|
Zitat von jayjay
@boris: etwas genauer, bin noch anfänger in php&mysql
|
Wie genau soll ich das noch schreiben?
Lass Dir Deine Query, die Du in $sql hast, einfach auf dem Bildschirm mit echo ausgeben ... halt so:
Code:
...
$sql = "SELECT mannschaft,mannschaft_id FROM $table_mitglieder WHERE mannschaft_id=$mannschaft_id GROUP BY mannschaft_id";
echo $sql;
...
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
27.06.2005, 17:10
|
#7
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Ich würde das Query spontan so gestalten:
PHP-Code:
$sql = "SELECT mannschaft,mannschaft_id FROM $table_mitglieder WHERE mannschaft_id='$_GET[mannschaft_id]' GROUP BY mannschaft_id"
EDIT
Was für Performanceunterschiede würde es eigentlich machen, im Query die mannschafts_id nicht aus der DB zu holen.. Diese ist ja vorher "bekannt"
[Noch ein Edit]
Woher kommt eigentlich $table_mitglieder?[/Noch ein Edit]
Geändert von Adromir (27.06.2005 um 17:13 Uhr).
|
|
|
27.06.2005, 17:28
|
#8
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
@Adromir:
Nee, das gibt einen netten Parse error - man kann Superglobals nicht simpel wie eine Variable einsetzen, das würde wenn dann nur gehen, wenn man es mit ". ... ." einsetzt:
Code:
$sql = "
SELECT
mannschaft,
mannschaft_id
FROM
$table_mitglieder
WHERE
mannschaft_id='".$_GET[mannschaft_id]."'
GROUP BY
mannschaft_id"
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
27.06.2005, 17:51
|
#9
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
@Boris: Ich mach das immer so, und es gibt keine Probleme..
richtig wäre natürlich $_GET['mannschaft_id'] anstelle von $_GET[mannschaft_id] . Dies macht dann den Parse- Error..
Ohne die Quotes funzt es und man muss nicht diese Verschachtelung mit ". [..] ." machen..
Ich weiß, daß es als "unsauber" gilt die Quotes wegzulassen, so bemühe ihc mich aber auch gleichzeitig keine Geschützen Wörter zu verwenden..
|
|
|
27.06.2005, 18:10
|
#10
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
@Adromir - das kannst Du ja so machen, wenn Du weisst, was Du machst -
Als Tipp für andere sollte das aber nicht so gepostet werden, besser ist hier immer, die "saubere" Methode anzubieten 
|
|
|
27.06.2005, 18:18
|
#11
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Stimmt.. Hast ja recht 
|
|
|
28.06.2005, 08:08
|
#12
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
Zitat:
|
Zitat von St@eff.en
ich wette, Du hast mannschaft_id nicht ausgelesen:
$mannschaft_id=(isset($_GET['mannschaft_id'])) ? $_GET['mannschaft_id'] : 0;
|
wette gewonnen.
das kommt vor die abfrage, oder?
Code:
$mannschaft_id=(isset($_GET['mannschaft_id'])) ? $_GET['mannschaft_id'] : 0;
$sql = "SELECT mannschaft_id FROM $table_mitglieder WHERE mannschaft_id=$mannschaft_id GROUP BY mannschaft_id";
//
$res = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($res, MYSQL_ASSOC))
{
echo $row['mannschaft'];
}
gibt nix aus
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
28.06.2005, 11:28
|
#13
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Mach doch mal endlich ein echo $sql und schreib uns, was da dann steht 
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
28.06.2005, 11:39
|
#14
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
hier:
Code:
<?php
$sql = "SELECT mannschaft_id FROM $table_mitglieder WHERE mannschaft_id=$mannschaft_id GROUP BY mannschaft_id";
echo $sql;
?>
ausgabe:
SELECT mannschaft_id FROM bw_mitglieder WHERE mannschaft_id= GROUP BY mannschaft_id
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
28.06.2005, 12:06
|
#15
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
In $mannschaft_id steht nix drin, also wird es nicht übertragen. Bist Du sicher, dass Du die PHP-Seite mit einer kompletten URL (z.B. ... seite.php?mannschaft_id=2) aufgerufen hast?
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 16:04 Uhr.
|
 |