don't exist

Overzicht Reageren

Direct weten hoe jij ervoor staat in de arbeidsmarkt?
Kumkwat Trender

Kumkwat Trender

13/01/2009 15:17:00
Quote Anchor link
Hoi iedereen,

ik heb een vet vage error, waar ik ook niet veel op internet kon vinden.
ik heb een class

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
class online_manager {
    var
$table;
    function
construct () {
        $this->table        = "online";
    }
    function
check_table_exist () {
        $exist        = mysql_query("SELECT `ip` FROM `$this->table` WHERE `ip` = '".mysql_real_escape_string($this->ip_adres)."'") or die (mysql_error ());
    }
}

?>


en uitvoeren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$online
= new online_manager();
$online->construct();
$online->check_table_exist();
?>


ik krijg steeds als output een witte pagina met de volgende error:
Table 'test.online' doesn't exist
terwijl ik online als tabel heb.

Nou is dit mijn database gegevens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$db
= array (
    'host' => 'localhost',
    'user' => 'root',
    'pass' => '',
    'dbname' => 'test'
);
?>


zou het komen omdat mijn dbname word gemengd met mijn tabel? en hoe is dit op te lossen?

want ik heb zo'n tabel proberen te maken, maar kreeg een error:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
MySQL retourneerde:

#1103 - Incorrect table name 'test.online'
?>


Met vriendelijke Groeten,
Peter
 
PHP hulp

PHP hulp

19/06/2013 15:00:51
 
Satsume

Satsume

13/01/2009 15:39:00
Quote Anchor link
test.online is inderdaad [DB_NAAM].[TABEL_NAAM], zo verwijst mysql over het algemeen, dat is zeker niet de error.

Haal iig de backticks weg in je query en bouw hem lees baar op:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$sSQL
= "
SELECT
 ip
 FROM "
.$this->table."
  WHERE ip = '"
.mysql_real_escape_string($this->ip_adres)."'";
?>


daarnaast zou ik echt beginnen met twijfelen aan of online wel bestaat.
Dit is iig je query na het parsen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT
 ip
 FROM online
  WHERE ip = '192.168.0.1'


Verander het IP adres naar een bestaand adres en mep deze query even in phpmyadmin, kijk even of je dezelfde error krijgt.

edit: *KuchNederlandsIsMijnGoeisteVakKuch*
Gewijzigd op 01/01/1970 01:00:00 door Satsume
 
Kumkwat Trender

Kumkwat Trender

13/01/2009 16:53:00
Quote Anchor link
Satusme, bedankt het is gelukt
maar waarom doet ie het dan zo? want ik ben dit echt nog nooit tegengekomen.
 
Jeroen

Jeroen

13/01/2009 17:02:00
Quote Anchor link
Peter,

Als je construct veranderd naar __construct word dit automatisch uitgevoerd.

Kijk maar eens naar onderstaande link:
http://www.phphulp.nl/php/tutorials/8/541/1397/
 
Kumkwat Trender

Kumkwat Trender

13/01/2009 18:07:00
Quote Anchor link
@jeroen, ja-ja ik ga wel een keer update naar php 5.


maar ik wou weten wat het verschil uitmaakte als ik deze quote ` gebruik of deze quote '. Want je kunt ze allebei wel gebruiken maar soms weer niet.. Is wel handig als ik weet welke fout is een waarom.
 
Joren de Wit
Beheerder

Joren de Wit

13/01/2009 18:23:00
Quote Anchor link
Quote:
deze quote ` gebruik of deze quote '
Die eerste is geen quote maar een backtick. Die gebruik je in principe helemaal nooit in je PHP scripts. Je komt ze nog wel eens tegen in slechte MySQL queries waarin ze gebruikt kunnen worden om gereserveerde woorden als kolom of tabelnaam te gebruiken, maar dat wil je echt niet.

Kortom, altijd ' (of ") gebruiken en ` ritueel verbranden... :-)
 
Kumkwat Trender

Kumkwat Trender

13/01/2009 18:47:00
Quote Anchor link
echt.. sometime i am amazed about your knowledge blanche.
O_O
 



Overzicht Reageren