Toon posts:

php/mysql sleutelchecker

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,
ik heb een invulformulier en wat daar ingevoerd wordt, wordt in de database opgeslagen..en als de ingevoerde gegeven (bij deze inlognaam) moet er een melding staan...
Hiervoor heb ik de volgende functie bedacht..
$soortVariabele wordt ingevuld!!
code:
1
2
3
4
5
6
7
8
9
10
11
function duplicatieCheck ($kolom, $tabel, $soortVariabele)
{   
    $query1 = "SELECT $kolom FROM $tabel WHERE $kolom = '$soortVariabele'";
    
    $res1 = mysql_query($query1, $link)or die ("WAAROM LUKT HET NIET");
    if (mysql_num_rows($res1)>="1")
    {
        echo "Deze " .$kolom. " bestaat al. Kies een andere ".$kolom.".<BR><BR><a href=\"javascript:history.back(1)\">Terug</a><BR>";
        exit; 
    }
}

en als aanroep:
code:
1
duplicatieCheck ("inlognaam", "spelers", $inlognaam);

Maar gebruik maken van de functie levert het volgende op...
Warning: Supplied argument is not a valid MySQL-Link resource in c:\phpdev\www\phpdev4\kolomkoppen2.php on line 18
Maar als ik zonder de functie werk, dus geen gebruik maken van de functie duplicatieCheck, werkt het weer wel (??)...Iemand enig idee??

Verwijderd

wat staat er in $inlognaam?

print je query eens door er echo voor te zetten? dus
PHP:
1
2
3
<?
echo $query1 = "SELECT...";
?>

en kijk eens wat daar staat?

Welke regel is regel 18?

Verwijderd

Topicstarter
Dag...
code:
1
echo $query1 = "SELECT $kolom FROM $tabel WHERE $kolom = '$soortVariabele'";

levert:
SELECT inlognaam FROM spelers WHERE inlognaam = 'testSpeler'
Waarbij 'testSpeler' nieuw ingevoerd is (via een formulier)...
"line 18" verwijst naar:
code:
1
$res1 = mysql_query($query1, $link)or die ("WAAROM LUKT HET NIET");

Maar, het lukt nog steeds niet :'(

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

global $link;

voorin je methode zetten :?

Zo te zien zit namelijk je database-link niet in de address-space van je functie...

Verwijderd

Op donderdag 10 januari 2002 20:51 schreef J_L_O het volgende:
Dag...
code:
1
echo $query1 = "SELECT $kolom FROM $tabel WHERE $kolom = '$soortVariabele'";

levert:
[..]

Waarbij 'testSpeler' nieuw ingevoerd is (via een formulier)...
"line 18" verwijst naar:
code:
1
$res1 = mysql_query($query1, $link)or die ("WAAROM LUKT HET NIET");

Maar, het lukt nog steeds niet :'(
kijk eens wat MySQL zegt met mysql_error() ?
PHP:
1
2
3
<?
echo mysql_error();
?>

  • McFreak
  • Registratie: December 2000
  • Laatst online: 27-04 21:09

McFreak

McFraGG de gekste !!

ehm.. domme dinge stonde hiero

McFraGG de gekste !!


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 10 januari 2002 21:24 schreef Jppr het volgende:
kijk eens wat MySQL zegt met mysql_error() ?
mysql_error() zal wel klagen over een niet geldige link resource ;)

Zoals hierboven al genoemd is...

De variabele $link is gewoon niet bekend binnen de functie.

Verwijderd

Topicstarter
helemaal gelijk....maar als ik $link in mijn functie zet(de connectie in de functie maak).......of global d'r voor (en niet in de functie) werkt het ook niet....

Verwijderd

(sorry voor die mysql_error)

je moet niet per sé bij het queryen je link id geven hoor. als je dat niet doet, pakt PHP automatisch de laatste. Dus
PHP:
1
2
3
4
5
6
7
<?
mysql_connect(...);
mysql_select_db(...);

$query = "SELECT...";
$result = mysql_query($query);
?>

lukt even goed. Probeer dat eens?

Verwijderd

Topicstarter
JPPR......Bedankt.....het werkt :D
Pagina: 1