Avatar billede bryrup Nybegynder
27. juni 2003 - 21:03 Der er 24 kommentarer og
1 løsning

Problem med Sql script

Hej alle....... nu har jeg sq et problem igen...( 2 idag )

ok mit script ser således ud:


<?php
include ("config.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$query = mysql_query("SELECT * FROM community WHERE navn='$s_navn' AND password='$s_password'") or print mysql_error();
while($r = mysql_fetch_array($query)) {
$navn = $r["navn"];
$znavn = $r["znavn"];
}
$hentnye = mysql_query("select * from beskedtilanders WHERE navn='$znavn' AND set='NULL' ORDER BY date DESC LIMIT 0,10") or die(mysql_error());
while ($ud = mysql_fetch_array($hentnye)) {
extract($ud);
echo "
<table>
<tr><td align='center'><b>Nye Beskeder</b></td></tr>
<tr><td>Besked fra: <b>$fra</b></td><td>Modtaget: $date</td></tr>
<tr><td><i>$overskrift</i></td></tr>
<tr><td>$besked</td></tr>
<tr><td></td></tr>
";
}
echo "</table>";
$hent = mysql_query("select * from beskedtilanders WHERE navn='$znavn' AND set='NULL' ORDER BY date DESC LIMIT 0,10") or die(mysql_error());
while ($ud2 = mysql_fetch_array($hent)) {
extract($ud2);
echo "
<table>
<tr><td align='center'><i>Gamle beskeder</i></td></tr>
<tr><td>Besked fra: <b>$fra</b></td><td>Modtaget: $date</td></tr>
<tr><td><i>$overskrift</i></td></tr>
<tr><td>$besked</td></tr>
<tr><td></td></tr>
";
}
echo "</table>";
?>

fejlen ser sådan ud!:


You have an error in your SQL syntax near 'set='NULL' ORDER BY date DESC LIMIT 0,10' at line 1


nogle der kan se fejlen....???? (help)
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:04 #1
okay anden gang der står set=NULL skulle der have stået 1... men det er ikke det der er galt!! :(
Avatar billede tipsen Nybegynder
27. juni 2003 - 21:05 #2
NULL skal ikke i anførselstegn!
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:06 #3
prøver
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:07 #4
nej virker ikke.. samme fejl bare uden de tegn!! :(
Avatar billede jakoba Nybegynder
27. juni 2003 - 21:08 #5
jeg tvivler på at du kan bruge  or print  på den måde  print er ikke en funktion, det er en syntakskonvention.

$query = mysql_query("SELECT * FROM community WHERE navn='$s_navn' AND password='$s_password'") or die( mysql_error() );
Avatar billede jakoba Nybegynder
27. juni 2003 - 21:11 #6
der var jeg galt på den. print ER en funktion. men derfor skal den så også genrne have et sæt parenteser efter sig til at omslutte det der skal printes:

$query = mysql_query("SELECT * FROM community WHERE navn='$s_navn' AND password='$s_password'") or print( mysql_error() );

se http://dk2.php.net/print

mvh JakobA
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:11 #7
det er ikke det virker på alle mine andre sider..... bruger det som standard header....

men prøver
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:12 #8
nej desværre.. ingen ændring :(
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:16 #9
måske nogle der har en anden form man kan gøre det.......

Altså først henter nogle beskeder hvor set=NULL (eller andet..)
og bagefter henter nogle beskeder hvor set=1    (eller andet..)
Avatar billede hmortensen Nybegynder
27. juni 2003 - 21:17 #10
Måske jeg komemr med en dum kommentar, men kan man sette en værdi når man selecter ?

Er det ik når man bruger update ?
Avatar billede jakoba Nybegynder
27. juni 2003 - 21:22 #11
istedet for set = null
skal der stå  set is null
det er noget med at null ikke er en værdi der kan sammenlignes med normale operatorer.
og der skal ikke ' omkring null.
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:22 #12
""set"" er et navn på en kolonne i min tabel.... kan man så ikke...... kan det være den misforstår det???
Avatar billede jakoba Nybegynder
27. juni 2003 - 21:23 #13
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:27 #14
desværre...... ingen ændring...! kan det være jeg skal omdøbe min kolonne.... for det kan være den ikke kan lide ordet set når det også indgår i UPDATE
Avatar billede hmortensen Nybegynder
27. juni 2003 - 21:29 #15
værd at prøve....
Avatar billede jakoba Nybegynder
27. juni 2003 - 21:32 #16
det var et godt gæt.  set er et reserveret ord: http://www.mysql.com/doc/en/Reserved_words.html
Avatar billede hmortensen Nybegynder
27. juni 2003 - 21:33 #17
jeg prøvede også engang at kalde en kolonne for by, men den blev hurtigt lavet om til city
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:35 #18
jep  det er også hjulpet en smule nu....... nu ser linien sådan ud::

$hentnye = mysql_query("select * from beskedtilanders WHERE navn='$znavn' AND erset is NULL ORDER BY date DESC LIMIT 0,10") or die(mysql_error());

har ændret navnet til = erset  og nu kommer der ikke nogen fejl.... men slet ikke noget  se det selv her : www.hejungklub.1go.dk/Bryrup/sebeskeder.php
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:35 #19
tag jer ikke af adressens navn..... bruger den bare som base....
Avatar billede jakoba Nybegynder
27. juni 2003 - 21:38 #20
Desværre, jeg får ikke andet en </table> på den adresse.
men hvor får variabelen $znavn også en værdi fra?
Avatar billede jakoba Nybegynder
27. juni 2003 - 21:39 #21
undskyld, hvor får variabelen  $s_navn  en værdi fra?
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:42 #22
ok..... har fundet fejlen...... jeg bruger nemlig sessions.... og har glemt sessionstart() eller hvordan den nu er........ ok tror den er i orden prøver,..
Avatar billede bryrup Nybegynder
27. juni 2003 - 21:45 #23
PIS..... nej nu er der slet ingen ting igen........!!!!

$znavn kommer fra connecting med community i starten
Avatar billede bryrup Nybegynder
27. juni 2003 - 22:01 #24
OK tak for hjælpen alle........ har fået den rettet!! :) now it works....
Avatar billede hmortensen Nybegynder
27. juni 2003 - 22:03 #25
Der er da ikke andet end: </table> på www.hejungklub.1go.dk/Bryrup/sebeskeder.php
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester