ben beetje aan het testen met databases.
Maar het standaardbegin lukt me nog niet echt.
Ik ben bijvoorbeeld begonne met een scriptje te schrijven waardoor het ip van de bezoeker van een pagina wordt gepost in de database.
Hou niet teveel rekening met veiligheid en dergelijke. Ik ben voorlopig al blij wanneer het ip wordt gepost.
Dit is wat ik heb geschreven:

<?php


/*Vul hier je hostname, user, password en database in.*/

define('SQL_HOST','localhost');

define('SQL_USER','blabla');

define('SQL_PASS','youwish');

define('SQL_DB','naamdb');

$conn = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS) or die(' Kan niet met database verbinden; ' . mysql_error());

mysql_select_db(SQL_DB, $conn) or die('Kan geen database selecteren; ' . mysql_error());

if (isset($_GET['$REMOTE_ADDR'])) {
$ip = $REMOTE_ADDR;
$query = "INSERT INTO mobystats(ip) VALUES('$ip')";

mysql_query($query, $conn) or die(mysql_error());
}
?>

tabel stats heeft twee velden:
id (primary key int auto increment)
ip (text not null)

wat doe ik fout?
gewoon beetje testen met db's. Ip erinzetten en terug laten weergeven door het uit db te halen.
maar ook indien ik = verander in == lost het niets op.
ok, we zijn al iets verder nu. Geen error niet meer. Maar nu wordt de inhoud van de db nog niet weergegeven. En ja, er zijn 56 records aanwezig :-)
SanThe schreef op 12.09.2006 23:20

ip (text not null)
Daar kan heel wat in en een ip nummer inclusief puntjes is nooit groter dan 15 characters dus een varchar(15) is groot genoeg.

Aanvulling: bij een VARCHAR kun je net zo goed altijd 255 opgeven. MySQL pakt namelijk precies zoveel geheugen als nodig is.
ik gebruik ook altijd een aangepast cijfer na varchar

dan kunnen er namelijk (door een fout) GEEN waarden langer dan 15 tekens in. en is wel overzichtelijker aan wat er in dat veld moet komen
Jan Koehoorn schreef op 30.09.2006 12:36
[quote=SanThe schreef op 12.09.2006 23:20]
ip (text not null)
Daar kan heel wat in en een ip nummer inclusief puntjes is nooit groter dan 15 characters dus een varchar(15) is groot genoeg.

Aanvulling: bij een VARCHAR kun je net zo goed altijd 255 opgeven. MySQL pakt namelijk precies zoveel geheugen als nodig is.[/quote]

Maar als je 255 pakt dan houd die nog staat geheugen vast, voor het geval dat.
Het klopt dan wel dat die die geheugen niet gebruikt maar hij reseveerd het wel.
ok, kzal er eens over nadenken of ik er nu een cijfer al dan niet achter zet, maar dat lost mijn probleem natuurlijk niet op. :-)

Reageren