MySQL

Möchte einen Besucherzähler bauen. Hab das Script von einem Tutorial. Also eigentlich scheiter ich bei dem Erstellen der Tabelle :ps:
Habe dazu folgendes Script:

<?php
$db_host = "localhost";
$db_user = "aschachinger";
$db_password = "***";
$db_name = "aschachinger";
mysql_connect($db_host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db_name) or die (mysql_error());

mysql_query("create TABLE "counter" (time VARCHAR(20), ip TEXT)");
?> 

http://aschachinger.bplaced.net/counter/counterinstall.php

Hab keine Ahnung warum das nicht funkionierd.
Hab eine Datenbank mit dem Namen „aschachinger“ erstellt.

(dieser tut: http://www.webmasterpro.de/old/content/8436/)

mysql_query("create TABLE "counter" (time VARCHAR(20), ip TEXT)");

das Problem ist, dass du beim zweiten " den string wieder schließt.
also entweder das erste und das letzte " durch ’ ersetzen oder mysql_query($sql); machen und
davor $sql = ‘create TABLE “counter” (time VARCHAR(20), ip TEXT)’;

müsste gehen^^

thx…

Ich glaube jetzt ist es gegangen…

Was für ein schlechter tut…hat schon ganz am Anfang einen Fehler :stress:

Irgendwie funktionierd das ganze noch nicht so wirklich.

Ich hab es jetzt unter http://aschachinger.bplaced.net/test/counter.php.

Es kommen nur ziemlich viele Fehler… :astonished:
Sind das Fehler des Scripts oder hab ich da noch irgendwas falsch gemacht?

…is mein erstesmal mysql und ich versteh jetzt die Fehlermeldungen noch nicht so wirklich :winke:

das hat mit deinem script zu tun, du übergibst an manche mysql funktionen falsche parameter.
ich hab mir aber mal das tutorial angeschaut, also ich finde es recht schlecht. ich an deiner stelle würde das einstampfen und mir was anderes suchen.

fertige:
http://www.php-counter.de/
http://www.php-free.de/Counter/

tutorials:
http://www.php-resource.de/tutorials/read/23/1/
http://www.softgames.de/developia/viewarticle.php?cid=21282
http://nopaste.easy-coding.de/1

Hab jetzt einfach einmal das erste von deinen Vorgeschlagenen Tuts genommen. Aber ich scheitere schon wieder am Erstellen der MySQL Tabelle.

[quote]Hierzu benötigt man eine Tabelle namens counter mit den Spalten:
ID (INT, auto_increment), counter(INT), ip(VARCHAR)[/quote]

Aber wenn man bei phpMyAdmin eine neue Tabelle anlegt muss man ja noch viel mehr definieren (zb. Länge).
Was sollte ich dort hineinschreiben?

naja, irgendwas was du für sinnvoll hältst, counter z.b. 16, ip auch 16, oder 32 is relativ egal, hauptsache groß genug

also eigentlich ist der code ja ziemlich einfach aber er funktionierd trotzdem nciht :ps:

<?php

$db_host="localhost";
$db_user="aschachinger";
$db_passwd="passwort";
$db_name="counter"; 

$db=mysql_connect ($db_host,$db_user,$db_passwd);
mysql_select_db ($db_name, $db);

$result= mysql_fetch_object( mysql_query("select * from counter where id='1'",$db));

if($result->ip != $REMOTE_ADDR)
{
$newcounter= ++$result->counter;
 mysql_query("UPDATE counter SET counter='$newcounter', ip='$REMOTE_ADDR' WHERE id='1'",$db);
} 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>
<?php echo "Sie sind der $result->counter. Besucher"; ?>
<body>
</body>
</html>

http://aschachinger.bplaced.net/test/counter.php

Kann mir irgendwer sagen was ich da falschmache? :smiley:

[code]<?php

$db_host=“localhost”;
$db_user=“aschachinger”;
$db_passwd=“passwort”;
$db_name=“counter”;

$db=mysql_connect ($db_host,$db_user,$db_passwd);
mysql_select_db ($db_name, $db);

$result= mysql_fetch_object(#Da ist ein Leerzeichen, das wegmachen#mysql_query(#benützt hier mal lieber ’ anstatt “select * from counter where id=‘1’”,$db));
also:
$sql = ‘select * from counter where id=“1”;’;

mysql_query($sql));

if($result->ip != $REMOTE_ADDR)
{
$newcounter= ++$result->counter;
mysql_query(“UPDATE counter SET counter=’$newcounter’, ip=’$REMOTE_ADDR’ WHERE id=‘1’”,$db);
}
?>

Unbenanntes Dokument <?php echo "Sie sind der $result->counter. Besucher"; ?> [/code]

@ aschachinger
bitte nächstes mal das passwort nicht mitposten
wurde hier abgeändert, scram sollte sich bei dir gemeldet haben deswegen

Ist mir im Nachhinein dan auch aufgefallen :ps:

thx fürs wegmachen.^^

Aber mein script hat mir immer noch niemand erklärt :wink:

musst mal meinen letzten post anschauen, da hab ich was im code geändert und dazugeschrieben. Hauptsächlich versuche mal, SQL Abfragen so zu formulieren.

[code]$sql = ‘select * from counter where id=“1”;’;

mysql_query($sql));[/code]

Also erst die Abfrage in eine Variable schreiben, und dann diese beim mysql_query aufrufen.

$result= mysql_fetch_object(Leerzeichenmysql_query(…

Da ist ein Leerzeichen, das denke ich für deinen Fehler verantwortlich ist. Also löschen

Grüße

WAS? Leerzeichen sind in PHP sowas von egal…

hm, auch in einer klammer bei mysql_query?
naja^^
bin halt auch nich gott

kennst du eine Programmiersprache, in der Leerzeichen eine Rolle spielen (außer Binary :p)???

ähm, weiß nich :hail:

Ich war ja vorher so intelligent mein pw mitzuposten und nun komme ich nicht mehr in meine acc :smiley: :smiley: :smiley:

Also ich weiß nicht an wen ich mich melden soll aber ich schreibs mal einfach hier hin… :unamused:

du kannst ein neues PW anfordern…wenn du aber keine Mail erhältst, schickst du am besten eine PM an miro :wink:

so das mit den pw ist wieder in geklärt…nein echt so peinlich :ps:

Aber das script funkt immer noch nicht :frowning:

vielleicht kann mir ja noch einer helfen…

er meldet fehler in line 13, also genau dort was ich jetzt in

$sql = 'select * from counter where id="1";';

mysql_query($sql));

Ich hab echt so keine ahnung warum das nicht geht… :wink:

Schreib mal

[code]$sql = ‘select * from counter where id=“1”;’;

if(!mysql_query($sql)) die(mysql_errno() . ": " . mysql_error());[/code]