Navigacija

Vartotojų tinkle

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

Registruoti nariai: 25,959
Naujausias narys: Simbijanas

Naujausi straipsniai

Paskutiniai nariai

Simbijanas 1 savaitė
Karinacraft 1 savaitė
Žmogus 5 savaitės
Bruksnys 9 savaitės
Darexs11 savaitės
Nepas12 savaitės
keistuole14 savaitės
Gizmis16 savaitės
Reikalas16 savaitės
Rytis25 savaitės
MaFetas29 savaitės
ozzWANTED31 savaitės
saulyzas32 savaitės
TOMIJUS34 savaitės
Jaunelis49 savaitės
lanis49 savaitės
And2s50 savaitės
Memento Mori55 savaitės
Quwqkibor57 savaitės
asirija61 savaitės

Informacija:


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