Navigacija

Vartotojų tinkle

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

Registruoti nariai: 25,963
Naujausias narys: WolfHammer

Naujausi straipsniai

Paskutiniai nariai

Rytis 1 diena
DjArtas 1 savaitė
WolfHammer 1 savaitė
Nostesi11 savaitės
Wisedocs12 savaitės
asdasdddz15 savaitės
Paslapties K...16 savaitės
Audrius_1719 savaitės
Reikalas24 savaitės
Simbijanas31 savaitės
Karinacraft32 savaitės
Žmogus35 savaitės
Bruksnys39 savaitės
Darexs42 savaitės
Nepas42 savaitės
keistuole45 savaitės
Gizmis46 savaitės
MaFetas60 savaitės
ozzWANTED61 savaitės
saulyzas63 savaitės

Informacija:


OS: Unknown
Naršyklė: Nežinoma
IP: 216.73.216.163
Naujienų: 529
Straipsnių: 235
Temų: 52,589
Postų: 522,549
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.

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

Gizmis
2025 Kov. 15 14:03:50
OMG, smagu matyt sita puslapi veikianti

Š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ų: 2363      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ą: