Foutmelding sql query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Paul K

Paul K

11/11/2006 19:39:00
Quote Anchor link
$result = mysql_query("SELECT * FROM contact ORDER by id DESC WHERE gelezen = '0'")or die ("Fout!");

Ik krijg dus de melding fout,,,
wat is er fout aan deze query?

\\Edit als ik de where weghaal doet hij het wel :S
Gewijzigd op 01/01/1970 01:00:00 door Paul K
 
PHP hulp

PHP hulp

18/11/2024 22:46:42
 
PHP erik

PHP erik

11/11/2006 19:43:00
Quote Anchor link
SELECT * FROM contact WHERE gelezen = 0 ORDER BY id DESC

Volgorde klopte niet.
 
PHP erik

PHP erik

11/11/2006 19:45:00
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
13
14
15
16
17
18
19
20
SELECT
    [ALL | DISTINCT | DISTINCTROW ]
      [HIGH_PRIORITY]
      [STRAIGHT_JOIN]
      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr, ...
    [FROM table_references
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [PROCEDURE procedure_name(argument_list)]
    [INTO OUTFILE 'file_name' export_options
      | INTO DUMPFILE 'file_name'
      | INTO @var_name [, @var_name]]
    [FOR UPDATE | LOCK IN SHARE MODE]]


Het moet in deze volgorde. WHERE is dus vóór ORDER BY.
Gewijzigd op 01/01/1970 01:00:00 door PHP erik
 
Paul K

Paul K

11/11/2006 20:12:00
Quote Anchor link
Dankje, ik zal het gelijk opslaan
 
Frank -

Frank -

11/11/2006 20:28:00
Quote Anchor link
2 fouten: die() zet je niet in een fraai stukje script, geen mens die het kan waarderen dat een script zomaar het bijltje er bij neergooid. Ten tweede roep jij 'fout'. Dat zegt natuurlijk wel ongelovelijk weinig, eigenlijk helemaal niets. Dat blijkt ook wel, je hebt zelf ook geen flauw idee wat er dan fout gaat. Voortaan met mysql_error() opvragen wat er dan fout gaat, dan kun je de fout tenminste gaan oplossen.

die() kun je eenvoudig vermijden door te controleren of $result TRUE of FALSE is. Als deze FALSE is, dan is de query dus mislukt.
 
Leroy Boerefijn

Leroy Boerefijn

11/11/2006 21:09:00
Quote Anchor link
@frank, als je mysql_error() gebruikt.. en er gaat een keer iets fout met je database.. kunnen hackers aan sappige info komen..
maar die tweede oplossing is wel handig :D
 
Robert Deiman

Robert Deiman

11/11/2006 21:34:00
Quote Anchor link
leroy schreef op 11.11.2006 21:09:
@frank, als je mysql_error() gebruikt.. en er gaat een keer iets fout met je database.. kunnen hackers aan sappige info komen..
maar die tweede oplossing is wel handig :D


Dat klopt, maar je moet dat ook niet meer zo op internet zetten, met die mysql_error(); Dat is voor jezelf, om ermee te werken, en het script te maken, zo kan je veel fouten voorkomen of zelf herstellen, zonder dat je een ander moet vragen.
Op internet kan je bijvoorbeeld iets doen als:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
// controleren of query is gelukt
if(mysql_query($sql_statement) == TRUE){
   //ga verder met je script
   }
//als query is mislukt
else{
   echo 'Er is een fout opgetreden, de beheerder is hiervan op de hoogte gesteld';
   // roep mailfunctie aan om de error naar je te laten mailen
    mail(jouwmail, onderwerp, mysql_error(), headers);
  }

?>
 
Citroen Anoniem Graag

Citroen Anoniem Graag

11/11/2006 21:49:00
Quote Anchor link
Je kunt toch ook gewoon
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql_result
= mysql_query($sql_statement);
// controleren of query is gelukt
if($sql_result){
   //ga verder met je script
   }
//als query is mislukt
else{
   echo ('Er is een fout opgetreden, in de volgende het volgende sql-statement: ' .$sql_statement. '<br />Dit is de error: '. mysql_error());
   // roep mailfunctie aan om de error naar je te laten mailen
    mail(jouwmail, onderwerp, mysql_error(), headers);
  }

?>

?

Edit:
50-ste Post!! :D
Gewijzigd op 01/01/1970 01:00:00 door Citroen Anoniem Graag
 
Jan Koehoorn

Jan Koehoorn

11/11/2006 22:27:00
Quote Anchor link
Freek schreef op 11.11.2006 21:49:
Edit:
50-ste Post!! :D

Gefeliciteerd.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.