Hoe controlleer ik of wat de waarde van een functie is?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johnny Reinders

Johnny Reinders

16/09/2013 13:54:08
Quote Anchor link
Ik heb gegoogled maar kan er niks over vinden, ik ben bezig met een beheersysteem voor mysql maar ik kom met een ding niet verder, ik wil me code zo overzichtelijk mogelijk houden dus wou ik op deze manier een foutmelding geven met eigen tekst:

Quote:
if (mysqli_connect_errno() == 1045)
{
echo "Gebruikersnaam of wachtwoord klopt niet";
}
else
{
echo mysqli_connect_errno();
}


Maar hierbij krijg ik de volgende melding:

Quote:
Fatal error: Call to undefined function mysql_connect_errno()


Weet iemand hier een alternatief of een oplossing voor?

Bedankt
 
PHP hulp

PHP hulp

17/11/2024 14:33:39
 
- Ariën  -
Beheerder

- Ariën -

16/09/2013 13:56:44
Quote Anchor link
Die functie bestaat niet. Haal je mysql_connect() en mysql_errno() niet door elkaar?
Beiden zijn aparte functies.
 
Johnny Reinders

Johnny Reinders

16/09/2013 14:10:05
Quote Anchor link
De functie mysqli_connect_errno() bestaat zeker wel want als ik in mijn code zet:

echo mysqli_connect_errno();

dan laat ie netjes de foutcode 1045 zien als ik verkeerde inlog gegevens invoer, maar ik wil graag controleren of die dan ook echt die foutcode 1045 geeft en dan een foutmelding geven, Is er mischien een manier om het met die() te doen? het lijkt mij onhandig want als de fout dan een andere oorzaak is dan verkeerde inlog gegevens dan krijg je nog altijd die zelfde melding. bijvoorbeeld als de host naam verkeert is.

Bedankt voor de snelle reactie
 
Kris Peeters

Kris Peeters

16/09/2013 14:12:21
Quote Anchor link
Heb je het over mysqli_connect_errno() of mysql_connect_errno() ?

trouwens ...

Fatal error: Call to undefined function

betekent dat de functie niet bestaat.
Wat je dan doet, is die functie even Google'n.

Dan krijg je deze melding:
"Did you mean: mysqli_connect_errno"
 
Johnny Reinders

Johnny Reinders

16/09/2013 14:15:38
Quote Anchor link
mysqli_connect_errno() want ik gebruik php5 op mijn server, en mysql_connect_errno() vervalt vanaf php6 daarom wil ik me daar nu al op voorbereiden, ik had idd al gegoogled en kwam ook tot de conclusie dat ie aangeeft dat het niet bestaat, maar als ik hem copieer en dan in een echo zet dan werkt die wel gewoon, dus dan bestaat ie gewoon togh?
 
- Ariën  -
Beheerder

- Ariën -

16/09/2013 14:16:39
Quote Anchor link
Aha, het verschil tussen MySQL en MySQLi....
mysql_connect_errno() bestaat NIET
mysqli_connect_errno() bestaat WEL
Gewijzigd op 16/09/2013 14:18:22 door - Ariën -
 
Johnny Reinders

Johnny Reinders

16/09/2013 14:23:12
Quote Anchor link
is er dan een manier om te controleren welke waarde mysqli_connect_errno() terug geeft, doormiddel van een if statement?
 
Albert de Wit

Albert de Wit

16/09/2013 14:29:50
Quote Anchor link
probeer
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo mysqli_connect_errno();
?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

16/09/2013 14:31:20
Quote Anchor link
Dit werkt bij mij. Ik heb het getest. Mocht dit bij jou niet werken dan ben ik bang dat je met een oude PHP versie te kampen hebt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

$conn
= @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');

if (!$conn)
{

    $errno = mysqli_connect_errno();
    if ($errno == 1045)
    {

        echo "Gebruikersnaam of wachtwoord klopt niet";
    }

    else
    {
        echo $errno;
    }

    exit();
}


?>
 
Johnny Reinders

Johnny Reinders

16/09/2013 14:36:12
Quote Anchor link
ik ga het nu direct proberen frank, dat van albert had ik al gedaan die werkt gewoon maar alleen als er een fout is maar dat klopt wel

Toevoeging op 16/09/2013 14:39:10:

Hardstikke bedankt allemaal voor de snelle hulp, de oplossing van frank werkt. Togh raar dat het niet rechtstreeks werkt maar zo is het ook goed :D

Bedankt,

Toevoeging op 16/09/2013 14:50:59:

Nu heb ik nog een probleem dat hiermee te maken heeft,

hier is mijn code:
Quote:
function checkform()
{
$error = "";

if ($_POST["dbhost"] == "")
{
$error = "Host is niet ingevult <BR>";
}

if ($_POST["dbuser"] == "")
{
$error .= "User is niet ingevult <BR>";
}

if ($_POST["dbpass"] == "")
{
$error .= "Password is niet ingevult <BR>";
}

if (!$error == "")
{
echo $error;
}
else
{
$connect = mysqli_connect($_POST["dbhost"], $_POST["dbuser"], $_POST["dbpass"]);
$connect_errno = mysqli_connect_errno();
if ($connect)
{
echo "verbonden";
}

else if ($connect_errno == "2002")
{
echo "Host adress klopt niet";
}

else if ($connect_errno == "1045")
{
echo "Gebruikersnaam of wachtwoord verkeerd";
}
}
}


ik zou graag willen dat hij bij errno 2002 een andere melding geeft als bij errno 1045 maar $connect_errno onthoud steets maar een getal hoe los ik dit op?

Toevoeging op 16/09/2013 14:58:07:

Ow wat dom van mij haha het werkt wel, maar als hij de host niet kan vinden kan die ook niet controleren of de gebruiker bestaat, het werkt dus gewoon.
 
Kris Peeters

Kris Peeters

16/09/2013 15:09:52
Quote Anchor link
Wil je al je code tussen [code][/code] steken?
Als het php is, lieft ook tussen <?php en ?>


(en ingevuld is met een d)
Gewijzigd op 16/09/2013 15:11:34 door Kris Peeters
 
Johnny Reinders

Johnny Reinders

16/09/2013 16:48:29
Quote Anchor link
oke is goed, ik kon alleen de quides vinden
 
- SanThe -

- SanThe -

16/09/2013 18:00:22
Quote Anchor link
Zeer slordig: if (!$error == "")
Netjes: if ($error != "")
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.