Vložení hodnot do MYSQL pomocí PHP – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vložení hodnot do MYSQL pomocí PHP – PHP – Fórum – Programujte.comVložení hodnot do MYSQL pomocí PHP – PHP – Fórum – Programujte.com

 

Konycz0
Newbie
15. 9. 2020   #1
-
0
-

Ahoj, vkládám data pomocí PHP

http://xxxx.eu/logger.php?text=11&time=12

<?php
        $server = "localhost";
        $user = "kony";
        $pass = "hesloheslo";
        $db = "jirka";

        $mysqli = mysqli_connect($server, $user, $pass, $db); //připojení k MySQL

                if($mysqli && isset($_GET['text']) && isset($_GET['time'])){ //pokud GET obsahuje 'hodnota', pokračuj
                $text = sanitize($_GET['text']);
                $time = sanitize($_GET['time']);
                $sql = "INSERT INTO log (text, time) VALUES (".$text.", ".$time.")"; //sestavení SQL
                $doSql = $mysqli->query($sql); //vykonání SQL

                if($doSql){ //test úspěchu
                        echo 'Zápis byl úspěšný';
                }
                else{
                        echo 'Něco se nepovedlo';
                }

        }
        else{
                echo "Neco je špatně";
        }

        function sanitize($input){ //ořízne řetězec
                $input = htmlspecialchars($input);
                $input = htmlentities($input);
                $input = strip_tags($input);
                $input = trim($input);
                return $input;
        }
?>

Ale toto mi funguje pouze pro čísla, pokud tam hodím text tak mi to hodí chybu

Nahlásit jako SPAM
IP: 213.211.34.–
Kit+15
Guru
15. 9. 2020   #2
-
+1
-
Zajímavé

#1 Konycz
Raději bych to ošetřil proti SQL injection než tohle.

Nahlásit jako SPAM
IP: 46.135.31.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
z_moravec
~ Redaktor
+3
Posthunter
15. 9. 2020   #3
-
0
-

#1 Konycz
Určitě souhlas s Kitem.

Řetězce nejdou vložit, protože ti v SQL příkazu chybí uvozovky.

Nahlásit jako SPAM
IP: 83.240.60.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Konycz0
Newbie
15. 9. 2020   #4
-
0
-

a jake je řešení aby mi to šlo vložit ??? a SQL injection neřeším, beží mi to pouze na lokalu doma

Nahlásit jako SPAM
IP: 213.211.34.–
z_moravec
~ Redaktor
+3
Posthunter
15. 9. 2020   #5
-
0
-

#4 Konycz
Vložit tam ty chybějící uvozovky, co jiného?

$sql = "INSERT INTO log (text, time) VALUES ('".$text."', ".$time.")";
Nahlásit jako SPAM
IP: 83.240.60.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Kit+15
Guru
15. 9. 2020   #6
-
0
-

#5 z_moravec 

Dá se i jednodušeji:

 $sql = "INSERT INTO log (text, time) VALUES ('$text', '$time')";
Nahlásit jako SPAM
IP: 46.135.31.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Konycz0
Newbie
15. 9. 2020   #7
-
0
-

snažím se použít toto  

 $mysqli = mysqli_connect($server, $user, $pass, $db); //připojení k MySQL
                $time = StrFTime("%Y-%m-%d %H:%M:%S", Time());
                if($mysqli && isset($_GET['text'])){ //pokud GET obsahuje 'hodnota', pokračuj
                $text = sanitize($_GET['text']);
                $sql = "INSERT INTO log (text, time) VALUES ('".$text."', ".$time.")"; //sestavení SQL
                $doSql = $mysqli->query($sql); //vykonání SQL
                if($doSql){ //test úspěchu
                        echo 'Zápis byl úspěšný';
                }
                else{
                        echo 'Něco se nepovedlo';
                        echo $time;
                }

        }
        else{
                echo "Neco je špatně";
        }

        function sanitize($input){ //ořízne řetězec
                $input = htmlspecialchars($input);
                $input = htmlentities($input);
                $input = strip_tags($input);
                $input = trim($input);
                return $input;
        }
?>

a stále mi to háže chybu, time mam v DB jako TIMESTAMP, abych s tím mohl pracovat jako s datumem a mohl řadit dle data

PS EDIT : Tak jsem tam dal taky uvozovky a uz to jde

Nahlásit jako SPAM
IP: 213.211.34.–
Kit+15
Guru
15. 9. 2020   #8
-
0
-

#7 Konycz
stále ti chybí apostrofy kolem $time.

Až se naučíš používat prepared statements, tak to bude jednodušší.

Nahlásit jako SPAM
IP: 213.175.43.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Konycz0
Newbie
15. 9. 2020   #9
-
0
-

Ale stejne mi to nechce zapsat do DB

PS EDIT : nebo spis mi to zapise kdyz to zadam do odkazu ručně, ale Arduino mi to po vyvolani zapsat nechce

Nahlásit jako SPAM
IP: 213.211.34.–
Kit+15
Guru
15. 9. 2020   #10
-
0
-

#9 Konycz
Občas se vyplavyplatí přečíst si chybové hlhlášky místo jejich ignorance.

Nahlásit jako SPAM
IP: 213.175.43.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Konycz0
Newbie
15. 9. 2020   #11
-
0
-

Jenze to bych rad, ale v php vubec neumim a snazim se pochopit a nevim kde hledat chybove hlasky

Nahlásit jako SPAM
IP: 213.211.34.–
Kit+15
Guru
15. 9. 2020   #12
-
0
-
Nahlásit jako SPAM
IP: 213.175.43.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 74 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý