Stránka 1 z 1

Prosím o kontrolu kódu - nevkládá data do mysql databáze*

Napsal: 18 bře 2012 13:02
od away
Ahoj,

prosím o kontrolu kódu, který mi nevkládá hodnoty do mysql. Děkuji.

Kód: Vybrat vše

$link = mysql_connect($mysql_server, $mysql_user, $mysql_password)

        or die("       
            <script language='JavaScript'>
                alert('Chyba spojení s databází!');
                history.back();               
            </script>
            ");
           
     

    $result = mysql_query("INSERT INTO adresar values (0, '$znacka', '$typ', " + "'$stari', '$vymena', '$konstrukce', '$zkusenosti','$souhlas')");
   
    if ($result==0):
        echo "Do adresáře byl úspěšně přidán nový záznam.";
    else:
        echo "A sakra! Nový záznam se do adresáře nepodařilo přidat.";
    endif;
    mysql_Close();

Re: mysql

Napsal: 18 bře 2012 13:24
od preclik
zkus tohle:

Kód: Vybrat vše

$link=mysql_connect($mysql_server, $mysql_user, $mysql_password)
or die("       
            <script language='JavaScript'>
                alert('Chyba spojení s databází!');
                history.back();               
            </script>
            ");

$database=mysql_select_db("jmenodatabaze") or die('mysql_error()');
mysql_query("SET NAMES 'utf8'");

$result="INSERT INTO adresar (vloz nazvy sloupcu-id, znacka atd..) VALUES (NULL, '".znacka."', '".$typ."', '".$stari."', '".$vymena."', '".$konstrukce."', '".$zkusenosti."', '".$souhlas."')";
if (mysql_query($result)){
            echo 'Do adresáře byl úspěšně přidán nový záznam.';
         } else {
echo 'A sakra! Nový záznam se do adresáře nepodařilo přidat.';
}
mysql_close($link);

kdyby to nefungovalo dej vědět.

Re: Prosím o kontrolu kódu - nevkládá data do mysql databáze

Napsal: 18 bře 2012 13:42
od away
Teď to píše "mysql_error()". :/

--- Doplnění předchozího příspěvku (18 Bře 2012 13:50) ---

Předělal jsem to následovně

$link = mysql_connect($mysql_server, $mysql_user, $mysql_password)

or die("
<script language='JavaScript'>
alert('Chyba spojení s databází!');
history.back();
</script>
");


$database=mysql_select_db("Novák Projekt") or die('mysql_error()');
mysql_query("SET NAMES 'utf8'");

$result="INSERT INTO adresar ("ID", "Značka", "Typ:", "Výměna:", "Stáří v letech:", "Konstrukce:", "Zkušenosti:", "Souhlas:") VALUES (NULL, '".$znacka."', '".$typ."', '".$stari."', '".$vymena."', '".$konstrukce."', '".$zkusenosti."', '".$souhlas."')";
if (mysql_query($result)){
echo 'Do adresáře byl úspěšně přidán nový záznam.';
} else {
echo 'A sakra! Nový záznam se do adresáře nepodařilo přidat.';
}
mysql_close($link);

píše mi to chybu v tomto řádku:

$result="INSERT INTO adresar ("ID", "Značka", "Typ:", "Výměna:", "Stáří v letech:", "Konstrukce:", "Zkušenosti:", "Souhlas:") VALUES (NULL, '".$znacka."', '".$typ."', '".$stari."', '".$vymena."', '".$konstrukce."', '".$zkusenosti."', '".$souhlas."')";

Re: Prosím o kontrolu kódu - nevkládá data do mysql databáze

Napsal: 18 bře 2012 13:56
od preclik
no tak každopádně bych teď začal tím že bych všechny sloupce a název databáze v DATABÁZI přejmenoval nejlépe na názvy s malými písmeny a bez diakritiky např. novak_projekt, vymena, znacka, stari atd...

--- Doplnění předchozího příspěvku (Ned Bře 18, 2012 1:57 pm) ---

a co přesně za chybu to píše?

Re: Prosím o kontrolu kódu - nevkládá data do mysql databáze

Napsal: 18 bře 2012 13:58
od away
Parse error: syntax error, unexpected T_STRING in /var/www-stud/e100105/zpracuj.php on line 31

--- Doplnění předchozího příspěvku (18 Bře 2012 14:07) ---

Už jsem vše přejmenoval. Nemá se tam někde i dát název databáze? Název tabulky je novak_projekt, ale název databáze je jiný. Nemusí se to také nějak zohlednit?

Re: Prosím o kontrolu kódu - nevkládá data do mysql databáze

Napsal: 18 bře 2012 15:00
od Michales1

Kód: Vybrat vše

$result="INSERT INTO adresar ("ID", "Značka", "Typ:", "Výměna:", "Stáří v letech:", "Konstrukce:", "Zkušenosti:", "Souhlas:") VALUES (NULL, '".$znacka."', '".$typ."', '".$stari."', '".$vymena."', '".$konstrukce."', '".$zkusenosti."', '".$souhlas."')";


Za 1. místo adresar zadej název existující tabulky v databázy.
Za 2. používej jednoduchý uvozovky a ne dvojitý.

Re: Prosím o kontrolu kódu - nevkládá data do mysql databáze

Napsal: 18 bře 2012 16:53
od preclik
ano přesně jak píše michales.nauč se v php psát jednoduché uvozovky.
jinak zde napiš jméno databáze

Kód: Vybrat vše

$database=mysql_select_db("jmeno databaze") or die('mysql_error()');

a tam jak psal michales napiš název tabulky

Re: Prosím o kontrolu kódu - nevkládá data do mysql databáze

Napsal: 18 bře 2012 20:37
od CZechBoY
:D nic víc k tomu asi mít nemůžu...

názvy sloupců se uzavírají do zpětných apostrofů alt+96!!!
Nemůžete uzavřít uvozovky a pak psát další text bez uvození (uvozovky/apostrofy)

PHP píše:<?php
$link = mysql_connect($mysql_server, $mysql_user, $mysql_password)

or die("
<script language='JavaScript'>
alert('Chyba spojení s databází!');
history.back();
</script>
");


$database=mysql_select_db("`Novák Projekt`") or die("Nelze vybrat DB: ".mysql_error());
mysql_set_charset('utf8') or die("Nelze nastavit kodování: ".mysql_error());

$result="INSERT INTO adresar (`ID`, `Značka`, `Typ:`, `Výměna:`, `Stáří v letech:`, `Konstrukce:`, `Zkušenosti:`, `Souhlas:`) VALUES (NULL, '".$znacka."', '".$typ."', '".$stari."', '".$vymena."', '".$konstrukce."', '".$zkusenosti."', '".$souhlas."')";
if (mysql_query($result)){
echo 'Do adresáře byl úspěšně přidán nový záznam.';
} else {
echo 'A sakra! Nový záznam se do adresáře nepodařilo přidat.';
}
mysql_close($link);


pro INSERTy doporučuju naházet proměnný do pole, klíče budou názvy sloupců, je to pak mnohem jednodušší na úpravy :)