| Autor | Zpráva | ||
|---|---|---|---|
| Joukerka Profil |
#1 · Zasláno: 2. 4. 2013, 08:42:37
Dobrý den,
jsem v začátcích, kód mám z předlohy..a mělo by mě to normálně připojit a vytvořit tabulku. Už nevím v čem je chyba. <?
# připojení k databázi
mysql_connect('bbeffect.php5.cz', 'muj_login', 'moje heslo') or die('Nelze se pripojit k databazi.');
mysql_select_db('czbbeffect') or die('databaze neexistuje');
# vložení údajů zaslaných formulářem
mysql_query(sprintf("INSERT INTO adresar VALUES (0, '%s', '%s', '%s')",
$jmeno, $prijmeni, $tel));
printf("Data byla uložena!<BR>");
printf("<A HREF=\"vlozit.html\">Další</A>");
# ukončení práce s databází
mysql_close();
?> ...píše mi to, že se nelze připojit k databázi *asi bude chyba v host, ale už mě nenapadá co by tam mohlo být: *moje adresa je:bbeffect.php5.cz *když jsem v mysql tak to mám zobrazené jako localhost:3306, zkoušel sem taky bbeffect.php5.cz:3306 Díky za rady. |
||
| Joker Profil |
#2 · Zasláno: 2. 4. 2013, 08:47:55
Joukerka:
Informujte se u hostingu, jaký server se má dávat do připojení k databázi. Obvykle to není adresa webu. Jestli to je php5.cz, tak tam podle jejich FAQ má být localhost. |
||
| Joukerka Profil |
#3 · Zasláno: 2. 4. 2013, 09:03:23
Joker:
díky moc, přesně tohle info sem hledal.... |
||
| Joukerka Profil |
#4 · Zasláno: 2. 4. 2013, 10:23:37
ještě bych se chtě zeptat...
Myslím, že je teď vše v pořádku... napíše se mi, že se to uložilo... Nevíte kde se v admin sekci můžu podívat na výpis všech uložených hodnot v tabulce ?... nějak to nemůžu najít...takže nevim na 100% jestli se mi to ukládá.. |
||
| IdemeNaHavaj Profil |
#5 · Zasláno: 2. 4. 2013, 10:25:22
Joukerka:
http://nibiru.zarea.net/sqladmin/ tvuj login / tvoje heslo |
||
| Joukerka Profil |
tam jsem... myslel jsem kde přesně... možná to taky nemůžu nají, protože to tam prostě neni :)
tady je mux kód: <?
function db_connect()
{
@$result=mysql_pconnect('localhost', 'XXX', 'XXX');
if (!$result)
return false;
if (!@mysql_select_db('czbbeffect'))
return false;
return $result;
}
# vložení údajů zaslaných formulářem
mysql_query(sprintf("INSERT INTO adresar VALUES (0, '%s', '%s', '%s')",
$jmeno, $prijmeni, $tel));
printf("Data byla uložena!<BR>");
printf("<A HREF=\"vlozit.html\">Další</A>");
# ukončení práce s databází
mysql_close();
?> kód formuláře je tady: <FORM ACTION="zpracovani.php" METHOD="post"> Jméno: <INPUT TYPE="text" NAME="jmeno"><BR> Příjemní: <INPUT TYPE="text" NAME="prijmeni"><BR> Telefonní číslo: <INPUT TYPE="text" NAME="tel"><BR> <INPUT TYPE="submit" VALUE="Odeslat"> </FORM> ...napíše se mi, že data byla uložena... možná čím doplnit kód...abych věděl, kde je chyba.. by mi pomohlo |
||
| ShiraNai7 Profil |
Zkus:
mysql_query(sprintf( "INSERT INTO adresar VALUES (0, '%s', '%s', '%s')", mysql_real_escape_string($jmeno), mysql_real_escape_string($prijmeni), mysql_real_escape_string($tel) )) or die(mysql_error()); + by jsi měl ošetřit vstup toho MySQL dotazu pomocí mysql_real_escape_string() (to jsem doplnil také).
Moderátor jenikkozak: Přesunuto z duplicitního vlákna.
|
||
| Tori Profil |
Jestli to máte jen takhle, tak se vám to uložit nemůže, protože se nepřipojujete k databázi (= chybí volání funkce db_connect):
if (!db_connect()) echo 'Nepodařilo se připojit k databázi. Chyba: '.mysql_error(); Dál byste mohl zkontrolovat, jestli se data opravdu uložila: if (mysql_query($sql)) echo "Data byla uložena!<br>"; else echo 'Při ukládání došlo k chybě: '.mysql_error(); A taky data se při vkládání do DB ošetřují jiným způsobem, tohle není spolehlivé. Číselné hodnoty jednoduše přetypujete na čísla, uvozovky se okolo nepíšou: $sql = "insert into tabulka (cislo) values (" . (int)$promenna . ")"; // anebo intval($promenna)$sql = "insert into tabulka (retezec) values ('" . mysql_real_escape_string($promenna) . "')"; |
||
| Joukerka Profil |
#9 · Zasláno: 2. 4. 2013, 13:33:40
Dělal jsem to podle návodu www.php5.cz ... kde to dělají takhle:
function db_connect()
{
@$result=mysql_pconnect('localhost', '<login>', '<heslo>');
if (!$result)
return false;
if (!@mysql_select_db('<databáze>'))
return false;
return $result;
}.... a tady ta funkce db_connect je ...stejně jako v mém kódu Nemohl bymi to někdo napsat jak by to mělo celé vypadat ? |
||
| Tori Profil |
#10 · Zasláno: 3. 4. 2013, 08:29:47
Joukerka:
„tady ta funkce db_connect je ...stejně jako v mém kódu“ Ano, ve vašem kódu tu funkci definujete, ale nevoláte (viz začátek [#8]). |
||
|
Časová prodleva: 13 let
|
|||
0