Toon posts:

[SQL] Table 'table.t' doesn't exist

Pagina: 1
Acties:
  • 31 views sinds 30-01-2008

Verwijderd

Topicstarter
Met het volgende sql commando haalde ik altijd gegevens op uit database

$sql = "SELECT u.message as mes, t.CLUB as tclub, c.club as uclub, u.dpthuis as dpt, u.dpuit as dpu FROM $p t, $p c, $u u WHERE u.thuis = t.CLUBID AND u.uit = c.CLUBID AND week < $weeknr+1 AND week > $weeknr2 ";

$p en $u werden dan op zo'n manier gevuld:

?p=p1&u=u1&g=19

Alleen nu werkt het ineens niet meer, helaas snap ik niet waarom dit niet werkt.

  • Spockz
  • Registratie: Augustus 2003
  • Laatst online: 19-11 13:44

Spockz

Live and Let Live

Post eens de echo van de query hoe hij is voordat je em uitvoert? Wat is de error?

Zo leest het makkelijker:
SQL:
1
2
3
4
5
SELECT
  *
FROM
  tabel
etc..;

C'est le ton qui fait la musique. | Blog | @linkedin
R8 | 18-55 IS | 50mm 1.8 2 | 70-200 2.8 APO EX HSM | 85 1.8


Verwijderd

Topicstarter
is dit de echo?

SELECT u.message as mes, t.CLUB as tclub, c.club as uclub, u.dpthuis as dpt, u.dpuit as dpu FROM p3, u3 WHERE u.thuis = t.CLUBID AND u.uit = c.CLUBID AND DW= 'J' Unknown table 'u' in field list

denk het wel he

  • mithras
  • Registratie: Maart 2003
  • Niet online
Doe eens een
PHP:
1
echo $sql;
En voer die output in bij bijv. phpmyadmin. Wat gebeurt er dan? Kennelijk is je $p leeg (omdat je die als 't' definieert).
Waarom gebruik je trouwens hoofdletters en kleine letters door elkaar :?
Verwijderd schreef op woensdag 31 januari 2007 @ 09:47:
is dit de echo?

SELECT u.message as mes, t.CLUB as tclub, c.club as uclub, u.dpthuis as dpt, u.dpuit as dpu FROM p3, u3 WHERE u.thuis = t.CLUBID AND u.uit = c.CLUBID AND DW= 'J' Unknown table 'u' in field list

denk het wel he
Ik denk het ook ja ;) Je hele "AS p" en "AS u" is verdwenen uit de query, dus kennelijk heb je toch iets fout gedaan in je php code :)


Verder is dit natuurlijk een allerbelachelijke manier om sql injection toe te staan. Standaard je simpele $_GET environment gelijk je sql query inpompen is absoluut de onveiligste manier. Ik zou daar zeker nog naar kijken!

[ Voor 35% gewijzigd door mithras op 31-01-2007 09:48 ]


Verwijderd

Topicstarter
Sorry ik had al wat geprobeerd maar dit is de echo die er uit komt:

SELECT u.message as mes, t.CLUB as tclub, c.club as uclub, u.dpthuis as dpt, u.dpuit as dpu FROM t, c, u WHERE u.thuis = t.CLUBID AND u.uit = c.CLUBID AND DW= 'J' Table 'brianprak_hol.t' doesn't exist

En ik weet dat het allemaal beter kan alleen dit is voor het eerst dat ik er wat mee doe zeg maar en is gewoon voor iets simpels

[ Voor 22% gewijzigd door Verwijderd op 31-01-2007 09:56 ]


  • mithras
  • Registratie: Maart 2003
  • Niet online
Verwijderd schreef op woensdag 31 januari 2007 @ 09:49:
Sorry ik had al wat geprobeerd maar dit is de echo die er uit komt:

SELECT u.message as mes, t.CLUB as tclub, c.club as uclub, u.dpthuis as dpt, u.dpuit as dpu FROM t, c, WHERE u.thuis = t.CLUBID AND u.uit = c.CLUBID AND DW= 'J' 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 'WHERE u.thuis = t.CLUBID AND u.uit = c.CLUBID AND DW= 'J'' at line 1

En ik weet dat het allemaal beter kan alleen dit is voor het eerst dat ik er wat mee doe zeg maar en is gewoon voor iets simpels
[list=1]• Zet je code nu eens tussen [code][/code] tags, en omdat je sql schrijft is het handig de sql highlighter aan te zetten conform het Overzicht van UBB-codes
• Je hebt een komma achter FROM t, c ;)
• Dit is dus wel heel simpel debug werk. Leer debuggen, bijv. door verschillende stukken sql op verschillende regels te zetten en kijken in welke line de error zit :)

Verwijderd

Topicstarter
had nog wat vergeten idd.

dit is wat er echt uitkomt:
SQL:
1
2
3
4
5
6
SELECT
 u.message as mes, t.CLUB as tclub, c.club as uclub, u.dpthuis as dpt, u.dpuit as dpu 
FROM 
t, c, u 
WHERE 
u.thuis = t.CLUBID AND u.uit = c.CLUBID AND DW= 'J' 

Table 'brianprak_hol.t' doesn't exist

Ik vind het alleen raar dat het nu opeens niet meer werkt omdat ie het gewoon altijd gedaan heeft.

[ Voor 21% gewijzigd door Verwijderd op 31-01-2007 10:01 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Het werkt niet is wel makkelijk te zeggen... Echter, dit is een beetje basic debuggen (wat is er precies verkeerd), en syntax checken. Als je geen tabel hebt die 'T' heet in je databank, tja .....
Ben je dus zeker dat je een tabel hebt die zo heet ? Ben je zeker dat je niet gewoon aliasses wilt gebruiken, maar dat je dat dus niet goed doet ?

Zowiezo is het niet de bedoeling dat anderen jouw code debuggen; dat moet je zelf kunnen + het feit dat dit over syntax gaat, en makkelijk zelf op te lossen is icm een manual, syntax guide, gaat dit topic dicht
Ik vind het alleen raar dat het nu opeens niet meer werkt omdat ie het gewoon altijd gedaan heeft.
Tja, je query is wel vatbaar voor sql injection .... Kijk dus maar eens of je tabellen in je DB nog bestaan.... Misschien zijn ze wel verschwunden, doordat iemand die ff 'gebruik' gemaakt heeft van je veiligheidslek.

[ Voor 22% gewijzigd door whoami op 31-01-2007 10:05 ]

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.