02. april 2002 - 14:24
Der er
26 kommentarer og 2 løsninger
You have an error in your SQL syntax near '!')' at line 2
Hvorfor må man ikke bruge tegnet "'" Jeg har set andre steder at det er brugt.. men jeg kan ikke få det til at virke.. /moreless
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
02. april 2002 - 14:25
#1
Altså dette tegn: ' hvis noget er i tvivl :-)
02. april 2002 - 14:27
#2
sæt en backslash foran altså \'
02. april 2002 - 14:29
#3
Du skal altis have \ foran både " og ' ...
02. april 2002 - 14:29
#4
Ovennævnte selvfølgelig kun hvis du skal udskrive din ' til skærmen. Elles kan du sagtens anvende ' i stedet for ", blot husk at bruge dem parvis.
02. april 2002 - 14:29
#5
altså ikke når du bruger "" til at omringe noget :O)
02. april 2002 - 14:30
#6
princippet er det samme som her på eksperten at man skal intaste nogle beskeder.. og brugeren skal jo ikke taste \' ? /moreless
02. april 2002 - 14:32
#7
er i med?.. det er noget der skal tastes ind i en database af en bruger...
02. april 2002 - 14:33
#8
hmmm.......nu aner jeg ikke hvad du fabler om! Snakker du om Mysql, eller PHP?
02. april 2002 - 14:33
#9
eks: Det var en go' ferie det vil den ikke pga '
02. april 2002 - 14:33
#10
mySQL
02. april 2002 - 14:33
#11
Hvis du snakker om, hvad det er brugeren skal skrive, så snakker du om PHP, men hvis du snakker om, hvor det bliver gemt, så snakker du om SQL.
02. april 2002 - 14:34
#12
Det skal du jo så, højst sandsynligt lave i PHP.... Jeg er bange for, at jeg ikke helt forstår hvad det er du mener!
02. april 2002 - 14:35
#13
jeg laver et eksempel.. to sekunder...
02. april 2002 - 14:37
#14
beldring: Sikke da noget ævl. Tror du virkeligt at man kun kan bruge Mysql fra php ?? Så er du godt nok meget naiv. Mysql er en database, og har INTET med php at gøre !!! moreless: Det du skal gøre i det programmeringssprog du laver dit program i som skal snakke med MYSQL serveren, er at udskifte alle ' med \' inden du gemmer i basen. Så hvis du f.eks. vil gemme: It's a little test Skal det konverteres til: It\'s a little test inden du putter det i din insert into query
02. april 2002 - 14:39
#15
ja nemlig.. men hvordan siger jeg at den skal gøre det? /moreless
02. april 2002 - 14:41
#16
du skriver en metode der kan gøre det hvis den ikke findes i det sprog du bruger, og ellers anvender du den der findes.
02. april 2002 - 14:44
#17
sås...disky! ...PHP var nævnt som et eks. jeg går ud fra, han godt ved, at han kan bruge f.eks. ASP.......(Så hvad med liiige at tage en slapper?) Og hvad er det lige du snakker om? Det du siger der, har han fået afvide, det han spørger om, er hvordan han gør det! ER DU NAIV?
02. april 2002 - 14:44
#18
ehm, jeg bruger php.. og såe vil jeg gerne have hjælp den den metode.. /moreless
02. april 2002 - 14:47
#19
Så bruger du en funktion der hedder addslashes(); Fx: $var = addslashes($var);
02. april 2002 - 14:51
#20
beldring du skriver:
Hvis du snakker om, hvad det er brugeren skal skrive, så snakker du om PHP, men hvis du snakker om, hvor det bliver gemt, så snakker du om SQL.
Altså du siger at det brugeren skriver er PHP, du giver ingen mulighed for andre sprog i din udtalelse.
moreless:
Nu er dit problem godt nok et php problem og du spørger i en mysql gruppe, men pyt.
Du skal bruge denne metode som er beskrevet her:
http://www.php.net/manual/en/function.mysql-real-escape-string.php
02. april 2002 - 14:52
#21
02. april 2002 - 14:53
#22
gider du sætte det i sammenhæng med dette: <?php include "top.php"; //TheForm echo "<form action='test_end.php' method='POST' onSubmit='return chk(this)'>"; echo "<br><br>"; echo "<table align='center' border='0' cellspacing='0' cellpadding='4'>"; echo "</td></tr>"; echo "<tr><td>"; echo "<b>Kommentar:</b><br>"; echo "<textarea name='test' cols='40' rows='5' style='width:300px'>"; echo "</textarea>"; echo "</td></tr>"; echo "<tr><td>"; echo "</table>"; echo "<p>"; echo "<div align='center'><input type='submit' value='Send' title='Send'></div>"; echo "</form>"; include "bund.php"; ?> -------------------------------------------------- <?php include "top.php"; $test = $HTTP_POST_VARS[test]; // connectToDatabase mysql_connect("localhost", "xxx", "xxx"); mysql_select_db("xxx"); // insertIntoDatabase { mysql_query("INSERT INTO test (test) VALUES ('$test')") or die (mysql_error()); ; } mysql_close(); echo "<div align='center'>FLOT!!!</div>"; include "bund.php"; ?>
02. april 2002 - 14:53
#23
02. april 2002 - 14:55
#24
den sidste kan bruges, men det korrekte er at bruge den der er guidet til Mysql, da den håndtere flere ting
02. april 2002 - 14:56
#25
byt mysql_query("INSERT INTO test (test) VALUES ('$test')") ud med $test=mysql_escape_string($test); mysql_query("INSERT INTO test (test) VALUES ('$test')")
02. april 2002 - 14:56
#26
fjern forresten det extra ; i din 'or die' linie
02. april 2002 - 14:58
#27
mange tak for svar
02. april 2002 - 14:58
#28
hele din kode bliver så: p.s. Tag og lav indrykninger for overskuelighedens skyld <?php include "top.php"; //TheForm echo "<form action='test_end.php' method='POST' onSubmit='return chk(this)'>"; echo "<br><br>"; echo "<table align='center' border='0' cellspacing='0' cellpadding='4'>"; echo "</td></tr>"; echo "<tr><td>"; echo "<b>Kommentar:</b><br>"; echo "<textarea name='test' cols='40' rows='5' style='width:300px'>"; echo "</textarea>"; echo "</td></tr>"; echo "<tr><td>"; echo "</table>"; echo "<p>"; echo "<div align='center'><input type='submit' value='Send' title='Send'></div>"; echo "</form>"; include "bund.php"; ?> -------------------------------------------------- <?php include "top.php"; $test = $HTTP_POST_VARS[test]; // connectToDatabase mysql_connect("localhost", "xxx", "xxx"); mysql_select_db("xxx"); // insertIntoDatabase { $test=mysql_escape_string($test); mysql_query("INSERT INTO test (test) VALUES ('$test')") or die (mysql_error()); } mysql_close(); echo "<div align='center'>FLOT!!!</div>"; include "bund.php"; ?>
Computerworld tilbyder specialiserede kurser i database-management