Autor Zpráva
AntonP
Profil
Dobrý deň,

mám script na odoslanie premennej $meno na databázu:
if ($statusKod === "ok") {

$servername = "wm144.wedos.net";
$username = "*******_smskeys";
$password = "********";
$dbname = "*******_smskeys";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("<div style='background-color:LightCoral; text-align:center; font-weight: bold; padding:12px; margin-left:200px; margin-right:200px; margin-top:330px;>Ups, chyba! Toto nie je chyba na Vašej strane. Prosím, kontaktujte administrátora. <br><small>Popis chyby: nepodarilo con db</small></div>");
}

$sql = "INSERT INTO aktivneKod (kod)
VALUES ('$meno')";

if ($conn->query($sql) === TRUE) {
    echo "<div style='background-color:LightGreen; text-align:center; font-weight: bold; padding:12px; margin-left:200px; margin-right:200px; margin-top:330px;'>Váš kód bol úspešne aktivovaný na meno " . $meno . ".</div>";
} else {
    echo "<div style='background-color:LightCoral; text-align:center; font-weight: bold; padding:12px; margin-left:200px; margin-right:200px; margin-top:330px;'>Ups, chyba! Toto nie je chyba na Vašej strane. Prosím, kontaktujte administrátora. <br><small>Popis chyby: nepodarilo con db</small></div>";
}

$conn->close();
}
Samozrejme, ešte ďalší kus kódu. Dajme tomu, že premenná $meno je Janko. Script by mal odoslať premennú $meno na databázu. Aj ju tam odošle, ale v databáze (v phpMyAdmin) sa zobrazí iba "0". Myslel som, že tým pádom bude premenná meno prázdna, ale keď som dal do súboru echo $meno;, tak napísalo pekne celé zadané meno. Som vďačný za každú radu, už si s tým neviem rady. Dúfam že chápete a prajem pekný zvyšok dňa.
Keeehi
Profil
A když v phpMyAdmin spustíš dotaz INSERT INTO aktivneKod (kod) VALUES ('Janko') tak se to uloží správně?
Tomášeek
Profil
AntonP:
Pravděpodobně je sloupec číselného typu.
AntonP
Profil
Keeehi:
Nie, napíše 0. Ale zároveň vypíše Warning: #1366 Incorrect integer value: 'Janko' for column 'kod' at row 1

Tomášeek:
Stĺpec: i.imgur.com/Pw94hiJ.png

//Áno, teraz som si to uvedomil. Nevyznám sa v tých názvoch INT, TEXT atď.
WordpressKokos
Profil
Ano musíš nastavit VARCHAR v tom sloupci, ne INT a doporučuji zadávat max 255
pcmanik
Profil
WordpressKokos:
doporučuji zadávat max 255
Prečo?
Od verzie MySQL 5.0.3 je maximálny limit 65 535 znakov, čo je mimochodom aj maximálna veľkosť ktorú môže riadok v tabuľke zaberať. Čize reálne je ten limit menší no zároveň ďaleko väčší ako 255.

AntonP:
Nevyznám sa v tých názvoch INT, TEXT atď.
Prehľad máš napríklad na tutorialspoint. Samozrejme aj v dokumentácii len tam je to na viac strán.
Tomášeek
Profil
WordpressKokos:
a doporučuji zadávat max 255
Proč 255? Já bych doporučil spíše přemýšlet a zadat délku ukládaného stringu takovou, která odpovídá vkládaným datům. 256znaké jméno neznám, ty ano?

Pokud budu chtít uložit string o délce do 300 znaků, použiju příslušný datový typ s příhodnou kapacitou. Nebo si mám nechat všechna data oseknout po 256 bytech? Hm, hm...
AntonP
Profil
Dobre, ďakujem všetkým za pomoc :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0