[PHP & MySQL] Retourneerwaarde bij geslaagde Create table

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een query window gemaakt vanuit waar je snel en direct alle soort queries kan loslaten op een mysql database.

Wanneer de query fout gaat kan ik dit goed afvangen met de de functies 'mysql_errno' en 'mysql_error'.

Mocht het gaan om een insert update of delete query dan kan ik dit ook allemaal netjes verwijderen dmv het weergeven van de data of mysql_affected_rows te gebruiken.

Wanneer ik nu een create table of drop table gebruik krijg ik nooit een resultaat terug van mysql. Of tenminste ik kan het resultaat nergens uithalen.

Is er een functie van mysql die wel het resultaat teruggeeft of moet je er maar vanuit gaan dat als er geen error is geweest dat de tabel aangemaakt is.

Is er geen mysql info hierover bekent. mysql_info resulteert ook in niets.

Acties:
  • 0 Henk 'm!

  • KompjoeFriek
  • Registratie: Maart 2001
  • Laatst online: 15-08 22:46

KompjoeFriek

Statsidioot

Via Google B) vond ik dit
mysql> DROP TABLE bandwidth-t1;
returns: ERROR 1064: You have an error in your SQL syntax near '-t1' at line 1
MySQL zou dus eigenlijk wel een error moeten geven (Syntax error in dit geval, er mag geen - in het commando zitten

nog wat verder gezocht... :z dit gevonden:
In MySQL Version 3.22 or later, you can use the keywords IF EXISTS to prevent an error from occurring for tables that don't exist. In 4.1 one gets a NOTE for all not existing tables when using IF EXISTS. See section 4.5.7.9 SHOW WARNINGS | ERRORS.
met een link naar dit stukje text (en nog wat meer uitleg)
SHOW WARNINGS [LIMIT #] SHOW ERRORS [LIMIT #]
Hope It Helps...

Laat het ff weten als het werkt, en hoe je het hebt gedaan als het werkt.

WhatPulse! - Rosetta@Home - Docking@Home


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wanneer er een error is bij een create of drop krijg ik dit wel netjes door.
Alleen wanneer hij voltooid is, dan krijg ik nergens resultaat.

Dit is dus ook het probleem.

Acties:
  • 0 Henk 'm!

  • mocean
  • Registratie: November 2000
  • Laatst online: 04-09 10:34
Verwijderd schreef op 18 July 2003 @ 13:22:
Wanneer er een error is bij een create of drop krijg ik dit wel netjes door.
Alleen wanneer hij voltooid is, dan krijg ik nergens resultaat.

Dit is dus ook het probleem.
Je kan toch stellen dat als er niks terugkomt, de operatie is geslaagd?

Koop of verkoop je webshop: ecquisition.com


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja dat heb ik nu ook gedaan, maar ik vind dat niet echt netjes.

Ik had namelijk verwacht dat ze wel iets terug zouden sturen maar ik kan niet ontdekken waar en hoe.

Ik heb nu dus ook maar een aanname gedaan als er niets terugkomt dat het goed is.

Acties:
  • 0 Henk 'm!

  • KompjoeFriek
  • Registratie: Maart 2001
  • Laatst online: 15-08 22:46

KompjoeFriek

Statsidioot

Sorry, ik had je verkeerd begrepen, maar wat mocean zegt kan toch?
[edit]
En ik mag ook best wel eens wat sneller leren typen.
* KompjoeFriek schopt zich zelf

[ Voor 46% gewijzigd door KompjoeFriek op 18-07-2003 13:29 ]

WhatPulse! - Rosetta@Home - Docking@Home


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 18 juli 2003 @ 13:28:
Ja dat heb ik nu ook gedaan, maar ik vind dat niet echt netjes.

Ik had namelijk verwacht dat ze wel iets terug zouden sturen maar ik kan niet ontdekken waar en hoe.

Ik heb nu dus ook maar een aanname gedaan als er niets terugkomt dat het goed is.
Pure gokmode, maar volgens mij krijg je een errorcode 0 terug als het goed is en een andere errorcode als er iets fout is.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • RupS
  • Registratie: Februari 2001
  • Laatst online: 17-07 14:45
Verwijderd schreef op 18 July 2003 @ 13:28:
Ja dat heb ik nu ook gedaan, maar ik vind dat niet echt netjes.

Ik had namelijk verwacht dat ze wel iets terug zouden sturen maar ik kan niet ontdekken waar en hoe.

Ik heb nu dus ook maar een aanname gedaan als er niets terugkomt dat het goed is.
mysql_query() geeft een TRUE als alles goed is gegaan of een FALSE met een bijbehorende mysql_errno en mysql_error
Als je if(mysql_query()) zegt, dan weet je toch dat je create statement goed is gegaan?
Je zegt dat je niks terugkrijgt als het goed gaat, maar je krijgt een boolean terug die TRUE is, dus je krijgt wel degelijk _iets_ terug... :)

Als het je alleen gaat om zekerheid of een query goed is gelukt, dan kan je er wel vanuit gaan. Als je ook nog een mooie resultstring wilt terug krijgen zul je denk ik zelf iets moeten gaan bedenken. :)
Ik heb wel eens in de source van phpMyAdmin gekeken, maar volgens mij deden zij het ook met de "hand".
Pagina: 1