mysql_query(): – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

 mysql_query(): – PHP – Fórum – Programujte.com mysql_query(): – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
ebeš
~ Anonymní uživatel
25 příspěvků
9. 8. 2007   #1
-
0
-

Mám script na zápis údajov do databázy

<?


if (!@$spojenie = MySQL_Connect("localhost", "root", "")):
echo "Nepodarilo sa pripojiť k databáze!Skúste prosím o chvíľu opäť poslať prihlášku.Ďakujeme";
die;
endif;
if (!@$select = MySQL_Select_Db("pokus")):
echo "Chyba pri výbere databáze!";
die;
endif;
$meno=$_POST["meno"];
$firma=$_POST["firma"];
$ulica=$_POST["ulica"];
$psc=$_POST["psc"];
$mesto=$_POST["mesto"];
$IČO=$_POST["IČO"];
if($_POST["datum_skolenia"]=="A") $datum_skolenia="13.9.2007";
if($_POST["datum_skolenia"]=="B") $datum_skolenia="17.9.2007";
if($_POST["datum_skolenia"]=="C") $datum_skolenia="25.9.2007";
if($_POST["datum_skolenia"]=="D") $datum_skolenia="27.9.2007";
$DIČO=$_POST["DIČO"];
$telefón=$_POST["telefón"];
$sql="INSERT INTO skolenie VALUES (id,'$meno','$firma',
'$ulica','$psc','$mesto','$IČO','$DIČO','$datum_skolenia','$telefón',now(0))";
$vysledok=mysql_query( $sql,$spojenie);
if(!$vysledok)
die("Nepodarilo sa poslať prihlášku.Skúste prosím o chvíľu znova");
else
echo " Ďakujeme za prihlášku";
mysql_close(@$spojenie);
?>

to beží
ale ak vložím miesto priameho spojenia v scripte funkciu pripojit z function.php


<?
require "function.php";
pripojit();
$meno=$_POST["meno"];
$firma=$_POST["firma"];
$ulica=$_POST["ulica"];
$psc=$_POST["psc"];
$mesto=$_POST["mesto"];
$IČO=$_POST["IČO"];
if($_POST["datum_skolenia"]=="A") $datum_skolenia="13.9.2007";
if($_POST["datum_skolenia"]=="B") $datum_skolenia="17.9.2007";
if($_POST["datum_skolenia"]=="C") $datum_skolenia="25.9.2007";
if($_POST["datum_skolenia"]=="D") $datum_skolenia="27.9.2007";
$DIČO=$_POST["DIČO"];
$telefón=$_POST["telefón"];
$sql="INSERT INTO skolenie VALUES (id,'$meno','$firma',
'$ulica','$psc','$mesto','$IČO','$DIČO','$datum_skolenia','$telefón',now(0))";
$vysledok=mysql_query( $sql,$spojenie);
if(!$vysledok)
die("Nepodarilo sa poslať prihlášku.Skúste prosím o chvíľu znova");
else
echo " Ďakujeme za prihlášku";
mysql_close(@$spojenie);
?>


pričom


function pripojit()
{
if (!@$spojenie = MySQL_Connect("localhost", "root", "")):
echo "Nepodarilo sa pripojit k databáze!Skúste prosím o chvílu opät poslat prihlášku.Dakujeme";
die;
endif;
if (!@$select = MySQL_Select_Db("pokus")):
echo "Chyba pri výbere databáze!";
die;
endif;
}


hlási mi chybu

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /apache/mnt/www.nazov.sk/formulare/prihlaska20.php on line 33
Nepodarilo sa poslať prihlášku.Skúste prosím o chvíľu znova.
Pričom script prejde až po riadok 32
Prečo mu vadí že §spojenie je definovaná vo funkction.php vo funkcii pripojit ?
Vie mi prosím niekto poradiť, čo mám s tým robiť?
ďakujem

Nahlásit jako SPAM
IP: ...–
Reklama
Reklama
insider0
Věrný člen
9. 8. 2007   #2
-
0
-

jestli sem si ten zdrojak dobre precet(jen sem ho proletel :)), tak potrebujes dostat promennou spojeni z funkce pripojit:

function pripojit()

{
if (!@$spojenie = MySQL_Connect("localhost", "root", "")):
echo "Nepodarilo sa pripojit k databáze!Skúste prosím o chvílu opät poslat prihlášku.Dakujeme";
die;
endif;
if (!@$select = MySQL_Select_Db("pokus")):
echo "Chyba pri výbere databáze!";
die;
endif;
return $spojenie;
}

btw: ty endif sou smrt prehlednosti, ale jestli ti to vyhovuje, tak budiz :))

a v kodu to pak jeste musis priradit dane promenne


require "function.php";
$spojenie = pripojit();


jinak jeste par doporuceni:
1) jestli s php zacinas, tak doporucuji si co nejrychleji zvyknout si na zapis <?php namisto <? - zakaz na jednom serveru znamena prepis celeho kodu ...
2) namisto 4 IFu se da pouzit mnohem elegantnejsi reseni - switch


switch($_POST["datum_skolenia"]){
case "A":
$datum_skolenia="13.9.2007";
break;
case "B":
$datum_skolenia="17.9.2007";
break;
case "C":
$datum_skolenia="25.9.2007";
break;
case "D":
$datum_skolenia="27.9.2007";
break;
}

Nahlásit jako SPAM
IP: ...–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
ebeš
~ Anonymní uživatel
25 příspěvků
9. 8. 2007   #3
-
0
-

Ďakujem za ochotu pomôcť aj za každú radu.
Ale aj keď vložím
require "function.php";
$spojenie = pripojit();
hlási tú istú chybu
Neviem, či sa dobre vyjadrím, ale nevadí že pri $spojenie = pripojit(); sa odvolávam na funkciu, v ktorej je opäť $spojenie

Nahlásit jako SPAM
IP: ...–
insider0
Věrný člen
9. 8. 2007   #4
-
0
-

to vadit nebude, promenna spojenie ve funkci plati jen a pouze pro tu funkci, pokud se teda do kodu nenapise neco jineho(to si nejsem jisty co, myslim, ze na zacatku funkce global $spojenie)
dulezite teda je, mit v te funkci return te promenne spojenie ...
jinak pred mysql_query si muzes dat jeste var_dump($spojenie) a uvidis co to vypise, me se vypise:

resource(3) of type (mysql link)

Nahlásit jako SPAM
IP: ...–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
ebeš
~ Anonymní uživatel
25 příspěvků
9. 8. 2007   #5
-
0
-

Vypíše mi to null
Neviem, čo sa mu tam nepáči
Funkciu pripojiť v iných scriptoch používam a je funkčná

Nahlásit jako SPAM
IP: ...–
ebeš
~ Anonymní uživatel
25 příspěvků
9. 8. 2007   #6
-
0
-

insider,
veľmi pekne ti ďakujem
Ide mi to - už Tvoj prvý príspevok bol správny
Ja, inteligentná osoba, som do pripojiť nevložila return $spojenie;
Dúfam, že budeš nápomocný pomôcť aj v budúcnosti - problémov je plno, len času málo

Nahlásit jako SPAM
IP: ...–
insider0
Věrný člen
9. 8. 2007   #7
-
0
-

sem rad, ze je vse vyreseno, no kdyz budu vedet, tak napisu, od toho to tady je :) kazdopadne s tim koncem, ze hodne problemu a malo casu musim souhlasit ...

Nahlásit jako SPAM
IP: ...–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
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, 50 hostů

Podobná vlákna

Proměnná v mysql_query — založil Mirek Braho

Problém s mysql_query — založil Dreity

 

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