Versio

mysql output

Overzicht Reageren

Jeroen vd

jeroen vd

04/12/2011 15:56:30
Quote Anchor link
stel ik heb de volgende query:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
"SELECT * FROM `table` WHERE `username` = '" . $username . "'"
?>


en $username staat niet in deze tabel, wat geeft deze query dan terug?

alvast bedankt,
jeroen
 
PHP hulp

PHP hulp

25/05/2012 06:49:14
Gesponsorde koppelingen:
 
Noppes Homeland

Noppes Homeland

04/12/2011 16:05:33
Quote Anchor link
Als je nu ook eens nadenkt over het feit wat je wilt bereiken met deze vraag, dan kan er ook gericht antwoord gegeven worden.

Overigens kan je dit soort vragen ook zelf beantwoorden door de query gewoon op de sql-prompt te draaien en te kijken naar het resultaat. Daarop kan je dan zelf een oplossing zoeken voor jouw niet beschreven probleem.

Note: backticks horen niet thuis in SQL, dus weg ermee!!
Gewijzigd op 04/12/2011 16:07:39 door Noppes Homeland
 
Jeroen vd

jeroen vd

04/12/2011 16:08:05
Quote Anchor link
wat ik wil bereiken, ik wil aan de output testen of er überhaupt deze record in de tabel staat, door middel van een if-then, maar dan moet ik eerst weten wat deze teruggeeft.

en waar kan ik deze sql-prompt dan wel vinden?

ook heb ik geleerd backticks te gebruiken...

Toevoeging op 04/12/2011 16:17:20:

ik heb op phpmyadmin sql gedraaid (sql prompt?) en deze gaf een lege resultaat terug. verder gaf deze standaard al backticks.

maar is deze lege resultaat NULL, of bestaat die dan gewoon niet? dat is juist wat ik moet weten
Gewijzigd op 04/12/2011 16:14:30 door jeroen vd
 
Noppes Homeland

Noppes Homeland

04/12/2011 16:26:17
Quote Anchor link
Quote:
ook heb ik geleerd backticks te gebruiken...

Degene die jouw dat aangeleerd heeft, moeten ze maar ergens heen sturen waar hij/zij deze onzin niet kan verkondigen.

phpmyadmin is "bagger", leuk om even een simpel querietje los te laten op een database tabel, maar meer dan ook niet.

Een database beheer je in feite met de tools die meekomen met de database software of programma's die goed geschreven zijn.

Tja, kijk eens tussen de functies van mysql:
http://www.php.net/mysql

dan kom je vanzelf wel bij 1 van de functies iets tegen, wat antwoord geeft op een leeg resultset.

Maar ja, als je geen kennis hebt van databases en sql moet je er ook niet mee aanvangen alvorens je op z'n minst de basiskennis tot je genomen hebt.

Dan hoef je namelijk dit soort vragen niet meer te stellen.
 
Ger van Steenderen

Ger van Steenderen

04/12/2011 16:30:35
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$result
= mysql_query($sql);
if ($result) {
    if mysql_num_rows($result) == 0) {
        //code
    }
    else echo 'record bestaat al';
}

else {
    //foutafhandendeling
}
?>
 
Jeroen vd

jeroen vd

04/12/2011 16:35:22
Quote Anchor link
degene die mij dit aan heeft geleerd, is een leraar, ik ga er dus van uit dat die dat goed doet.

phpmyadmin is niet meer dan een beheertool, bewerken of beheren doe je hier niet mee

een pagina met allemaal functies is leuk, maar hoe kom ik hier zonder te weten waar te beginnen?

en je hebt gelijk, als je alles al weet van databases, sql en php hoor je hier inderdaad niet te zijn.

maar omdat ik dat dus niet weet ben ik hier! en anderen zijn er om mij te helpen, net als ik hun als indien nodig. dat is het idee van een helpforum!

Toevoeging op 04/12/2011 16:37:29:

@ger, bedoel je hiermee dat als er geen rijen zijn, dat er dan dus ook geen resultaat is?
Gewijzigd op 04/12/2011 16:38:10 door jeroen vd
 
Noppes Homeland

Noppes Homeland

04/12/2011 16:37:43
Quote Anchor link
En ja hoor weer iemand, die zonder na te denken een foutief if-je in elkaar flantst.
en dan doel ik op: if ($result) {

en de tweede is:
if mysql_num_rows($result) == 0)
dat geeft een parse error

Quote:
degene die mij dit aan heeft geleerd, is een leraar, ik ga er dus van uit dat die dat goed doet.

Wel die leraar moet dan maar ontslagen worden, maar heeft in ieder geval wel bijscholing nodig. En zomaar aannemen wat z'n ...... vertelt is natuurlijk uit den boze.

Quote:
@ger, bedoel je hiermee dat als er geen rijen zijn, dat er dan dus ook geen resultaat is?

En wat begrijp je nu niet aan het geen ger gepost heeft? Je kan hooguit kijken, lezen en uitproberen en het dan op correcte wijze toepassen.
Gewijzigd op 04/12/2011 16:42:43 door Noppes Homeland
 
Obelix en Idefix

Obelix en Idefix

04/12/2011 16:41:55
Quote Anchor link
Jeroen vd op 04/12/2011 16:35:22:
degene die mij dit aan heeft geleerd, is een leraar, ik ga er dus van uit dat die dat goed doet.

Helaas, foute aanname. Veel leraren leggen het 'quick & dirty' uit.
Selecteren van velden met *, 'foutafhandeling' door die()-constructie, etc.
Ook de meeste boeken leggen het helaas foutief uit.
 
Jeroen vd

jeroen vd

04/12/2011 16:43:00
Quote Anchor link
@noppes: ik neem niets zomaar aan, als iemand mij uitlegt hoe iets werkt, en dan werkt het op die manier, ga ik ervan uit dat dat dus goed is. ik ben geen mongool die alles maar aanneemt dat hem vertelt wordt.
Quote:
En wat begrijp je nu niet aan het geen ger gepost heeft? Je kan hooguit kijken, lezen en uitproberen en het dan op correcte wijze toepassen.

en ik weet niet hoe het met u zit, maar ik probeer te begrijpen wat er gebeurd, niet zomaar aannemen dat iets werkt, wat dan ga je weer verkeerd aannemen. je spreekt jezelf tegen.
Gewijzigd op 04/12/2011 16:49:20 door jeroen vd
 
Noppes Homeland

Noppes Homeland

04/12/2011 17:00:10
Quote Anchor link
M.a.w. je begrijpt niet wat je leest en wat het doet.

Wel daar heb je de handleiding voor:
http://www.php.net/mysql_query
http://www.php.net/mysql_error
http://www.php.net/mysql_num_rows

http://www.php.net/if
http://www.php.net/echo

En zonder het te lezen, te begrijpen door toe te passen zult gij ook niets leren.
 
Jeroen vd

jeroen vd

04/12/2011 17:03:06
Quote Anchor link
dankje voor de link, ik wist nog niet wat echo deed.

na ja bedankt ger en obelix, ik weet hoe het zit.

mvg,
jeroen
 
Jacco Brandt

Jacco Brandt

04/12/2011 18:24:34
Quote Anchor link
Backticks horen in SQL inderdaad niet thuis. Het is echter wel een onderdeel van MySQL, waar het gewoon geaccepteerd word. Daarom kun je, mits je een MySQL-database gebruikt, prima backticks gebruiken. Je moet alleen weten waar en waarom je het wel/niet gebruikt.
 
PHP Scripter

PHP Scripter

04/12/2011 19:28:04
Quote Anchor link
@Noppes, je hebt je dagje niet of wel? Sjeez.

@Jeroen Gebruik geen * maar selecteer de velden die je nodig hebt/
Gewijzigd op 04/12/2011 19:28:13 door PHP Scripter
 
Jaron T

Jaron T

04/12/2011 22:04:25
Quote Anchor link
Backticks kunnen handig zijn als je 'reserved key words' gebruikt, je hebt bijvoorbeeld een tabel die 'order' heet, je kan nu niet select blaat from order doen omdat order een gereserveerd keyword is (order by blaat desc).
 
Noppes Homeland

Noppes Homeland

04/12/2011 22:22:43
Quote Anchor link
@Jaron T, gaat jij effe lekker hene! Als een woord een gereserveerd woord is dan moet je opzoek naar een alternatieve omschrijving en niet met backticks aangaan lopen kloten.
 
Gerhard l

gerhard l

04/12/2011 22:43:02
Quote Anchor link
Noppes Homeland op 04/12/2011 16:37:43:
En ja hoor weer iemand, die zonder na te denken een foutief if-je in elkaar flantst.
en dan doel ik op: if ($result) {

en de tweede is:
if mysql_num_rows($result) == 0)
dat geeft een parse error

Quote:
degene die mij dit aan heeft geleerd, is een leraar, ik ga er dus van uit dat die dat goed doet.

Wel die leraar moet dan maar ontslagen worden, maar heeft in ieder geval wel bijscholing nodig. En zomaar aannemen wat z'n ...... vertelt is natuurlijk uit den boze.

Quote:
@ger, bedoel je hiermee dat als er geen rijen zijn, dat er dan dus ook geen resultaat is?

En wat begrijp je nu niet aan het geen ger gepost heeft? Je kan hooguit kijken, lhjezen en uitproberen en het dan op correcte wijze toepassen.


Noppes wat is er fout aan de if $query statement? Dit geeft toch gewoon een boolean terug, ik heb hier nog nooit problemen mee gehad.
 
- SanThe -

- SanThe -

04/12/2011 23:02:37
Quote Anchor link
$query bevat alleen een boolean (false) als de query mislukt is. Jij checked in feite op een true boolean en dat zal er nooit in zitten. Als ie gelukt is zit er een resource# in. Dus if($result !== false) kan en if(!$result) kan ook.

Edit: Eigenlijk is dit ook niet echt netjes. if($result === false) is waarschijnlijk de beste optie. En als dat dus waar is, dan volgt de error.
Gewijzigd op 04/12/2011 23:05:53 door - SanThe -
 
Gerhard l

gerhard l

04/12/2011 23:05:23
Quote Anchor link
- SanThe - op 04/12/2011 23:02:37:
$query bevat alleen een boolean (false) als de query mislukt is. Jij checked in feite op een true boolean en dat zal er nooit in zitten. Als ie gelukt is zit er een resource# in. Dus if($result !== false) kan en if(!$result) kan ook.




Toevoeging op 04/12/2011 23:07:11:

Gerhard l op 04/12/2011 23:05:23:
- SanThe - op 04/12/2011 23:02:37:
$query bevat alleen een boolean (false) als de query mislukt is. Jij checked in feite op een true boolean en dat zal er nooit in zitten. Als ie gelukt is zit er een resource# in. Dus if($result !== false) kan en if(!$result) kan ook.




Dus eigenlijk gaat hij de if wel in omdat $query bestaat maar niet omdat hij true is, mits de query succesvol is, maar anders zal de $query false teruggeven en de else ingaan.
 
- SanThe -

- SanThe -

04/12/2011 23:09:43
Quote Anchor link
Ja, ik denk dat je dat goed beschrijft. Zie ook even mijn edit in mijn vorige post.
 
Ger van Steenderen

Ger van Steenderen

05/12/2011 19:57:57
Quote Anchor link
Als je geen UPDATE, DELETE, CREATE of INSERT query uitvoert is die manier niet helemaal zuiver, maar ja PHP gaat daar heel makkelijk met om.
Daarnaast wil ik aan degene die hier alleen maar cursusjes opdringt of af loopt te kraken, een cursus sociale omgang adviseren.
Gewijzigd op 05/12/2011 19:59:40 door Ger van Steenderen
 



Overzicht Reageren

Get Adobe Flash player