PHP lägga till data i databasen

Permalänk
Medlem

PHP lägga till data i databasen

Hej, det är så att jag håller på med en filmdatabas för eget bruk.
Scriptet hämtar information från imdb och ska sedan lägga till i min egna databas.
Problemet som uppstod när jag bara provad några random filmer var att i filmen Titanic så står det två "harfnuttar" ('')
Titanic (1997)

Det är ordet 'unsinkable', det verkar som att jag inte kan infoga datan på något vänster. Den kanske tror att jag försöker göra en sql injection?

Tex, The town funkar utmärkt
The Town (2010)

Det fungerar mycket bra med alla andra filmer som inte har sådana tecken i sig.
Hur ska jag göra för att lösa detta?

Felmeddelande:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'unsinkable' ship.','James Cameron','Drama / History / Romance','empty','194 min'' at line 1

Query för insert i databasen:

$dbQuery = mysql_query("INSERT INTO imdb_table(id, titel, handling, regissor, genre, skadespelare, speltid)VALUES('','$title','$handling','$regissor','$genre','$skadespelare','$speltid')") or exit(mysql_error());

MVH
Limpa

Permalänk
Medlem

Antingen måste du göra replace på "'" från variablerna innan du skickar in dem i queryn. Eller, om variablerna är strängar ska du väl inte behöva ha variablerna mellan ' ', i så fall kan du plocka bort dem.

Visa signatur

foto{5d/400d | canon 24-70 2.8L | canon 18-55 3.5-5.6 |sigma 70-300 4.0-5.6 | canon 50 1.4 | speedlite 430ex}
dator{Dell Optiplex 780 SFF}

Permalänk
Medlem
Skrivet av vanos:

Antingen måste du göra replace på "'" från variablerna innan du skickar in dem i queryn. Eller, om variablerna är strängar ska du väl inte behöva ha variablerna mellan ' ', i så fall kan du plocka bort dem.

Hej, det fungerade inte med att ta bort '' i insert queryn.
Menar du str_replace?
Isåfall ersätter jag ju orden med någonting annat, jag vill ju infoga allting..
Förstår inte riktigt vad som är problemet..

Permalänk

Har du testat mysql_real_escape_string()?
PHP: mysql_real_escape_string - Manual

Permalänk
Medlem
Skrivet av fqvarfort:

Har du testat mysql_real_escape_string()?
PHP: mysql_real_escape_string - Manual

Tack ska ta och testa med det.. Har nämligen inte hittat någon som verkar ha samma problem, och "ingen" PHP guide använder sig utav mysql_real_escape_string så lite svårt att vet vad man ska göra.

Permalänk
Medlem

Tack så mycket för hjälpen, jag löste det genom att använda mysql_real_escape_string.
Tex:
$handling = mysql_real_escape_string($imdb->getPlot());

Nu kan man ta och koda säkrare också, tack igen!!!