Navigacija

Vartotojų tinkle

Prisijungusių svečių: 86
Prisijungusių narių: 0
Prisijungusių narių nėra

Registruoti nariai: 25,963
Naujausias narys: WolfHammer

Naujausi straipsniai

Paskutiniai nariai

N-20 2 dienos
Reikalas 3 dienos
Rytis 6 dienos
DjArtas 2 savaitės
WolfHammer 2 savaitės
Nostesi12 savaitės
Wisedocs12 savaitės
asdasdddz16 savaitės
Paslapties K...17 savaitės
Audrius_1720 savaitės
Simbijanas32 savaitės
Karinacraft32 savaitės
Žmogus36 savaitės
Bruksnys40 savaitės
Darexs42 savaitės
Nepas43 savaitės
keistuole45 savaitės
Gizmis47 savaitės
MaFetas60 savaitės
ozzWANTED62 savaitės

Informacija:


OS: Unknown
Naršyklė: Nežinoma
IP: 216.73.216.163
Naujienų: 529
Straipsnių: 235
Temų: 52,590
Postų: 522,550
Postų pask. parą: 0
Shout'ų pask. parą: 0
P.S.C. pask. parą: 0
Nuorodų kataloge: 13

Lankomumo Statistika

Peržiūrų šiandien: 22

Iš viso peržiūrų: 22948724

Prisijungti

REGISTRUOTIS
Nario vardas

Slaptažodis



Pamiršai slaptažodį?
Paprašyk naujo

Aktyvuoti save

Šaukykla

Jei norite rašyti žinutes, turite prisijungti.

N-20
2026 Vas. 6 21:02:05
O mes dar gyvi šypsosi)

WolfHammer
2026 Sau. 25 01:01:35
drovus

Žmogus
2025 Geg. 31 10:05:18
Kas geresnio? šypsosi

Nepas
2025 Bal. 9 17:04:13
drovus

Nepas
2025 Bal. 9 17:04:08
drovus

Šaukyklos archyvas

Apklausa

Ar esate patenkinti lietuviško vertimo kokybe?

Taip!

Taip, bet yra ką taisyti (parašysiu komentaruose)

Ne

Norėdamas balsuoti turite prisijungti.
Archyvas
Reklama 400x60
PHP: Kabutės įvedant į MySQL
Forumas | PHP-Fusion, WordPress, Shopify, PHP ir MySQL (PROGRAMAVIMAS) | Kiti PHP, HTML, MySQL klausimai

Autorius: citni Peržiūrų: 2372      Spausdinti temą
2012 Bir. 19 18:06:46          1 žinutė iš 4
Spausdinti pranešimą
Taigi, susikūręs teksto įvedimo į duomenų bazę formą, bandau įvesti tekstą su kabutėm (pvz.: Don't Stop) ir man išmeta tokią klaidą:
"Error: 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 '','assdad')' at line 3"

Štai kodo fragmentas:


<?php
include 'connect.php';
$con = mysql_connect ("$db_host","$db_username","$db_pass") or die ("Could nor connect to <span style="border-bottom: 1px dotted black;">MySQL</span>");
@mysql_select_db("$db_name") or die ("No database");
 
$sql = "INSERT INTO films_trailers (id, name, link)
VALUES
('','"
.$_POST['name']."','".$_POST['link']."')";
 
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "<center><b>Film was successfuly added!</b></center>";
echo "<center><b><a href='index.php'>Back to Home</a></b></center>";
 
mysql_close($con);
 
?>

2012 Bir. 19 19:06:28          2 žinutė iš 4
Spausdinti pranešimą
Taip yra todėl, kad tu SQL užklausoje taip padarai:


'".$_POST['name']."'


O jei tas name kintamasis turėtų reikšmę Don't Stop, tai gautųsi maždaug taip:


'Don't stop'


Mestų klaidą, nes tokių pačių dviejų vientisų kabučių negali būti, reiktų escapinti su backslah'u, maždaug taip:


$name = str_replace("'", "\'", $_POST['name']);


Šitą prieš užklausos formatavimą pridėk, turėtų suveikti.merkia akį

2012 Bir. 19 19:06:49          3 žinutė iš 4
Spausdinti pranešimą
Suveikė.
Didžiulis ačiū!
2012 Bir. 19 22:06:39          4 žinutė iš 4
Spausdinti pranešimą
Trumpas paaiškinimas: norint kad veiktu atitinkami simboliai (pvz.: ", ', \...) kaip paprastas tekstas prieš juos dedama \ simbolis. O Faitas. duota funkcija kaip tik prideda \ simboli prieš ' simboli.
Peršokti į forumą: