webForumDet fria alternativet

SQL insert problem ?

7 svar · 225 visningar · startad av Pellefant

PellefantMedlem sedan maj 20023 372 inlägg
#1

Hej!

Någon som kan hitta felet? (Kanske pga att type är reserverat? Går det i så fall att göra något förutom att byta namn i databasen?)

$Query2 = "INSERT INTO tabs(id, date, genre, type, artist, album, title, tab, clicks ) VALUES ('', '".$date."', '".$row['genre']."', '".$row['type']."', '".$row['artist']."', '".$row['album']."', '".$row['title']."', '".$row['tab']."', '0') ";

Felet:

You have an error in your SQL syntax near 'll never use them ' at line 1 in query: INSERT INTO tabs(id, date, genre, type, artist, album, title, tab, clicks ) VALUES ('', 'May 26, 2003', 'punk', 'lyrics', 'NOFX', '45 or 46 songs', 'all of me', 'All of me why not take all of me can .', '0')

Hela koden:

<?
$id = $_GET['id']; 

$Link = mysql_connect("localhost", "xxx", "xxx");
mysql_select_db("xxx", $Link); 

$Query = "SELECT * FROM unreviewed WHERE id=$id";
$Result = mysql_query($Query) or die("Error: ".mysql_error()." in query: ".$Query);
$row=mysql_fetch_array($Result);

$date = date("M d, Y");  

$Query2 = "INSERT INTO tabs(id, date, genre, type, artist, album, title, tab, clicks ) VALUES ('', '".$date."', '".$row['genre']."', '".$row['type']."', '".$row['artist']."', '".$row['album']."', '".$row['title']."', '".$row['tab']."', '0') ";

$Result2 = mysql_query($Query2) or die("Error: ".mysql_error()." in query: ".$Query2);

$Query3 = "DELETE FROM unreviewed WHERE id='".$id."'";

$Result3 = mysql_query($Query3) or die("Error: ".mysql_error()." in query: ".$Query3);

mysql_close($Link)
?>
SebbeMedlem sedan jan. 20032 285 inlägg
#2

Jag vet inte vilka typer fälten i databasen är av, men om id är ett autonumber och clicks är number borde det väl se ut så här?

$Query2 = "INSERT INTO tabs(date, genre, type, artist, album, title, tab, clicks ) VALUES ('".$date."', '".$row['genre']."', '".$row['type']."', '".$row['artist']."', '".$row['album']."', '".$row['title']."', '".$row['tab']."', 0) ";

Jag är inte så hemma på MySQL, så rätta mig om jag har fel. :)

@ndersMedlem sedan juni 200032 969 inlägg
#3

Även i MySQL måste apostrofer i strängar escapeas, precis som när du använder vilka andra databaser som helst.

Mvh

PellefantMedlem sedan maj 20023 372 inlägg
#4

@nders skrev:

Även i MySQL måste apostrofer i strängar escapeas, precis som när du använder vilka andra databaser som helst.

Mvh

Ursäkta följdfrågan :OO, men hur gör man det(måste apostrofer bort helt, eller kan man få tillbaka dem sedan på något sätt?

(Japp, det finns en apostrof i "tab")

LarsGMedlem sedan dec. 200012 464 inlägg
#5

http://se2.php.net/manual/en/function.addslashes.php

eller du kanske använder ärans och hjältarnas språk, ASP?

@ndersMedlem sedan juni 200032 969 inlägg
#6

addslashes()

Jag kan inte php, men söka, det kan jag! :e

PellefantMedlem sedan maj 20023 372 inlägg
#7

LarsG skrev:

http://se2.php.net/manual/en/function.addslashes.php

eller du kanske använder ärans och hjältarnas språk, ASP?

Använder båda språken, så jag hoppas på en liten ära och hjälte gloria iallafall. :)

Tack för hjälpen alla, jag återkommer om en stund med lösningen när jag kollat på länken och ev. sökt lite.

PellefantMedlem sedan maj 20023 372 inlägg
#8

Tillbaka, löste sig med denna kod :) Sedan läggs $tab till istället i SQL satsen.

$tab = addslashes ($row['tab']);

Tack.

132 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)