[PHP] Fout in query met databasenaam

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo luitjes..

Ik heb een klein CMS ontwikkeld met een eigen database die in staat is om meerdere websites te onderhouden die ook hun eigen database gebruiken.

Nu loop ik echter bij een hostingprovider tegen een probleem aan, deze maakt de databasenaam als volg: domein_nl_-_DBnaam
Als ik dit in een query verwerk krijg ik dus een foutmelding.

voorbeeld:
$query = "SELECT id, naam FROM domein_nl_-_DBnaam.users WHERE naam = '$_POST[gebr]' AND wachtwoord = '$_POST[ww]'";

Hier gaat hij dus over zijn nek met de volgende foutmelding:
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 '-_DBnaam.users WHERE naam = 'blaat' AND wachtwoord = 'blaat'' at line 1

Het lijkt erop dat hij moeite heeft met het '-', maar dat lijkt me toch raar... Heb al vanalles geprobeerd, maar ik kom er echt niet uit, heeft iemand enig idee wat hier de oorzaak van kan zijn?!?

Acties:
  • 0 Henk 'm!

Verwijderd

Backticks rond de databasenaam biedt ook geen oplossing?

Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

Misschien verstandig om ` tekens rond de naam van tabellen, databases en velden te zetten. ;)

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Nu online
backticks eroom zetten?

`db_naam`.users

Acties:
  • 0 Henk 'm!

  • cdgrit
  • Registratie: Mei 2002
  • Laatst online: 13-01 16:44
Probeer de databasenaam en de tabellen eens tussen haakjes te zetten:

SELECT `id`, `naam` FROM `domein_nl_-_DBnaam`.users WHERE ......


Originele startpagina - Stadindex.nl


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sjeez...

Al dat zoeken en gedoe en dan is de oplossing zo simpel!!

*DOM*

Mijn dank is groot!!

Acties:
  • 0 Henk 'm!

Verwijderd

Euhm.. ik ken het ff fout zien natuurlijk, maar je opent toch een connectie naar een DBASE om dan queries te doen op een of meer TABLE(s) in die DBASE ?

Mijn indruk is dat er hier een querie gebeurt op een dbase zelf ?

edit : ok, blijkbaar was het toch de naam van een table.

[ Voor 11% gewijzigd door Verwijderd op 22-08-2007 16:06 ]


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Verwijderd schreef op woensdag 22 augustus 2007 @ 16:01:
voorbeeld:
$query = "SELECT id, naam FROM domein_nl_-_DBnaam.users WHERE naam = '$_POST[gebr]' AND wachtwoord = '$_POST[ww]'";
offtopic:
Denk je aan de SQL-Injection?!? Als ik van $_POST[ww] namelijk "x OR 1=1" maak, dan is het resultaat altijd TRUE en dat wil je niet :)

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Streepjes zijn operators voor aftrekken en dienen dus inderdaad omsloten te worden door backticks. Ergens wel logisch, want hoe zou je database anders het verschil moeten zien tussen een som en een database/tabelnaam? ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1