Toon posts:

[Mysql en PHP] Foutmelding 'Host is Onbekend'

Pagina: 1
Acties:
  • 1.003 views

Onderwerpen


Verwijderd

Topicstarter
Hey,

Ik zit al een paar dagen naar een probleem te kijken, wat ik gewoon niet opgelost krijgt. Waneer ik dit stukje code run dat krijg ik dit als melding:

Warning: mysql_connect(): php_network_getaddresses: getaddrinfo failed: Host is onbekend. in C:\xampp\htdocs\BioFrost1\class.database.php on line 8

De code is:
PHP:
1
2
3
4
5
6
include 'class.database.php';
$db = new database( 'root', '', 'biofrost', 'localhost');
if($db->num_rows('SELECT * FROM biofrost') >0)
{
    $data = $db->get_array();
}

En als ik bij ander files gebeurt dit niet.
Dit is de class file.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php

class database
{
    var $db;
    function database( $user, $pass, $database,  $error = 'ERROR MYSQL', $host = 'localhost')
    {
        $this->db = mysql_connect($user, $pass, $host);       
        if(!$this->db || !mysql_select_db($database, $this->db));
            die($error);
    }  
    var $res;
    function num_rows($sql = NULL)
    {
        if($sql != NULL);
            $this->run_query($sql);
        return mysql_num_rows($this->res);
    }  
    function get_array($sql = NULL, $refetch = false)
    {
        if($sql != NULL)
            $this->run_query($sql);
        if($refetch == true)
            mysql_data_seek ($this->res, 0);
        while ($row = mysql_fetch_array($this->res)) 
            $rows[] = $row;
        return $rows;
    }
    function insert_id( $sql = NULL )
    {
        if( $sql != NULL )
            $this->run_query( $sql );
        return mysql_insert_id( $this->db );
    }
    function affected_rows($sql = NULL)
    {
        if($sql != NULL)
            $this->run_query($sql);
        return mysql_affected_rows($this->db);
    }
    function find_table($table, $database)
    {
        $this->res = mysql_list_tables($database, $this->db);
        $data = $this->get_array();
        return in_array($table, $data);
    }
    function run_query($sql)
    {
        $this->res = mysql_query($sql, $this->db);
        if( !$this->res)
        die('Query onjuist!');
    }
    function database_close( )
    {
        if( !@mysql_free_result( $this->res ) )
            unset( $this->res );
        mysql_close( $this->db );
    }
}
function destruct( $name )
{
    $db = &$GLOBALS[$name];
    $db->database_close( );
    unset( $GLOBALS[$name] );
}
?>


Ik heb al op google gezocht maar niet echt het probleem kunnen vinden.

Hopelijk kunnen jullie het probleem vinden.

Groetjes,

vanaart

ps. Ik ben nog niet goed in php dus als er nog andere dingen zijn die jullie aanraden om te veranderen dan hoor ik dat graag.

  • HMS
  • Registratie: Januari 2004
  • Laatst online: 17-11 00:33

HMS

code:
1
2
3
4
    function database( $user, $pass, $database,  $error = 'ERROR MYSQL') 
    { 
        $this->db = mysql_connect($user, $pass, $host); 
...


Waar komt $host opeens vandaan?

Verwijderd

Topicstarter
HMS schreef op donderdag 12 september 2013 @ 17:15:
code:
1
2
3
4
    function database( $user, $pass, $database,  $error = 'ERROR MYSQL') 
    { 
        $this->db = mysql_connect($user, $pass, $host); 
...


Waar komt $host opeens vandaan?
Oops was aan het testen en vergeten terug te zetten. Ik zet hem ff terug. //Zo klopt die weer

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 02-12 18:25

Creepy

Tactical Espionage Splatterer

En los daarvan het volgende stukje code uit de PHP manual (http://php.net/manual/en/function.mysql-connect.php):

code:
1
2
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');

Dus de eerste parameter is de machine. Jij geeft als eerste parameter de gebruiker mee.

Ik heb je de vorige keer al aangegeven dat je zelf even de manual moet checken hoe de door jouw gebruikte functies zouden moeten werken. Nu vul je de host ook nog eens op de verkeerde plek in, en dat gaat uiteraard niet werk. Dat je nog niet zo goed bent in PHP is niet erg, maar dat je zelf niet even nakijkt naar standaard voorbeelden voor mysql_connect is dat wel. Dat kost je letterlijk 5 hele minuten en dan had je je eigen probleem zelf gefixt.

[ Voor 6% gewijzigd door Creepy op 12-09-2013 17:19 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.