Navigacija

Vartotojų tinkle

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

Registruoti nariai: 25,962
Naujausias narys: Wisedocs

Naujausi straipsniai

Paskutiniai nariai

Nostesi 5 savaitės
Wisedocs 5 savaitės
asdasdddz 9 savaitės
Paslapties K...10 savaitės
Audrius_1712 savaitės
Reikalas17 savaitės
Simbijanas24 savaitės
Karinacraft25 savaitės
Žmogus28 savaitės
Bruksnys33 savaitės
Darexs35 savaitės
Nepas36 savaitės
keistuole38 savaitės
Gizmis39 savaitės
Rytis49 savaitės
MaFetas53 savaitės
ozzWANTED54 savaitės
saulyzas56 savaitės
TOMIJUS58 savaitės
Jaunelis73 savaitės

Informacija:


OS: Unknown
Naršyklė: Nežinoma
IP: 216.73.216.47
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.

Ž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

ozzWANTED
2024 Lap. 30 15:11:14
Taip, vis dar up šypsosi

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