Vraag over mysql_real_escape string
-
-
-
Gebruik intval() (of cast naar int) en laat de ' weg.
PHPmysql_query("UPDATE `users` SET `kladblok`='".mysql_real_escape_string($_POST['notes'])."' WHERE `id`=".intval($data->id));
Alleen wanneer je data echt vertrouwd, en dus weet waar het vandaan komt, mag je het zonder voorzorg maatregelen gebruiken. Aangezien het waarschijnlijk een criminals source is, die over het algemeen erg slecht gescript zijn zou ik zelf $data->id niet vertrouwen.
-
Bedankt voor uw antwoord Darsstar.Wat doet intval als ik vragen mag?
-
Intval maakt een INT van een variabele. Dus als je een number (float) hebt als 8.41 maakt intval() hier dus 8 van. Een INT heeft nooit een decimaal.
-
Oke dankjewel L.Groot.
Is het handig om het gebruik van intval ook in select optie te gebruiken?
-
Je hebt het nergens nodig, alleen:
- als de input een float (met decimalen) is;
- als de input een string is (met quotes) en je ermee wilt rekenen.Dus bij een select optie waarbij je als waarde 0,1,2 meegeeft bijvoorbeeld is dit in principe niet nodig, tenzij je ermee wil rekenen, a.d.h.v. de PHP instelling op de server kan het zo zijn dat hij hem dan niet pakt omdat je hem als string opgeeft in de HTML (value="2").
Je moet er gewoon mee spelen en als het niet werkt intval() erin zetten.
Persoonlijk heb ik nooit intval nodig, ik klier daar alleen mee met JavaScript omdat die taal vele malen strenger is met rekenen i.c.m. integers / floats / strings.
-
Maar als data->id 0 is returnt intval toch niks?
Ik zou de $data query beveiligen ipv elke vorm van $data.Dus ipv niks doen, zoeken naar de $data query!
-
Heel erg bedankt beide.
Ik gebruik nu een script dat de tijd laat zien, alleen laat hij tussen 24:00 en 7:00 als tijd 0000-00-00 00:00:00 zien. Hoe zou dat kunnen komen?
Alvast bedankt!
Participate now!
Heb je nog geen account? Registreer je nu en word deel van onze community!