Probleem MySQL
Maar nu wil ik met MySQL gaan werken, ik kan via phpadmin gewoon tabellen aanmaken enzo, maar ik kan er geen verbinding naar toe maken, kan iemand mij vertellen waar dit aan kan liggen?
Hier staat een voorbeeld wat ik nu krijg:
http://www.detrivia.nl/bierens < Als je op aanmeld duwt
Gewijzigd op 01/01/1970 01:00:00 door D B
Post het stukje script eens waarmee je connect? Uiteraard zonder wachtwoord enz.
je gebruikt blijkbaar niet de goede gebruikersnaam en/of wachtwoord. Over het algemeen is de gebruikersnaam root zoals je ook ingevuld hebt en het wachtwoord is leeg.
voor de rest behoor je als volgt verbinding te maken
Code (php)
1
2
3
4
2
3
4
<?php
mysql_connect("localhost","gebruikersnaam","wachtwoord");
mysql_select_db("database");
?>
mysql_connect("localhost","gebruikersnaam","wachtwoord");
mysql_select_db("database");
?>
uit je foutmeldingen blijkt dat er ook een foutje zit in je mysql_select_db();
Edit: Had hier net de code staan, maar is niet nodig.
Wachtwoord moest inderdaad leeg zijn dan werkt hij wel :)
Maar nu moet ik dat wachtwoord nog zien in te stellen...
@Jan:
Zou jij eens naar mijn post probleem met div willen kijken...
Heb dit naar aanleiding van jouw tutorials gemaakt, maar nu wou ik er rechts menus bij zetten maar die springen dan helemaal naar onder (kan het script wel even terugzetten zodat je het kan zien als je wilt)
Gewijzigd op 01/01/1970 01:00:00 door D B
@ Bierens: ja hoor ik wil best eens kijken.
Het blijft een gevogel met de query's, heb echt al vanalles geprobeerd dubbele quote " enkele, met escapes zonder escapes maar hij blijft een fout geven:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
$sql="
INSERT into gebruikers
(id,login,email,wachtwoord,ip,aanmeld)
VALUES
(NULL,". $_POST['login']. ",". $_POST['email']. ",". $_POST['wachtwoord']. ",". $_SERVER['REMOTE_ADDR']. ", a )
";
?>
$sql="
INSERT into gebruikers
(id,login,email,wachtwoord,ip,aanmeld)
VALUES
(NULL,". $_POST['login']. ",". $_POST['email']. ",". $_POST['wachtwoord']. ",". $_SERVER['REMOTE_ADDR']. ", a )
";
?>
Als fout geeft hij:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.0.1, a )' at line 4
Edit:
(sorry dit had eigenlijk in een nieuwe topic in mysql moeten komen staan...)
(sorry dit had eigenlijk in een nieuwe topic in mysql moeten komen staan...)
Gewijzigd op 01/01/1970 01:00:00 door D B
Dat is tekst, dus dat moet tussen enkele quotes.
Edit: Bij de rest moeten ook quotes komen.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$sql="
INSERT into gebruikers
(id, login, email, wachtwoord, ip, aanmeld)
VALUES
(NULL, '" . $_POST['login'] . "', '" . $_POST['email'] . "', '" . $_POST['wachtwoord'] . "', '" . $_SERVER['REMOTE_ADDR'] . "', 'a' )
";
?>
$sql="
INSERT into gebruikers
(id, login, email, wachtwoord, ip, aanmeld)
VALUES
(NULL, '" . $_POST['login'] . "', '" . $_POST['email'] . "', '" . $_POST['wachtwoord'] . "', '" . $_SERVER['REMOTE_ADDR'] . "', 'a' )
";
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
dus:
Verder ontbreekt iedere vorm van beveiliging, een login met een quote daarin, zal de boel direct laten mislukken. En dan heb ik het nog niet eens over SQL-injection... Gebruik altijd mysql_real_escape_string() voor alle user-input die in een query staat.
Ik weet dat ik heel de foutafhandeling en alles nog toe moet voegen... maar wil eerst deze query werkend krijgen, maar ik heb echt al vanalles geprobeerd..
Hier staat een test:
http://www.detrivia.nl/bierens <<< Als je bij Aanmeld jezelf aan probeert te melden
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if (!empty($_POST['login']) OR !empty($_POST['email']) OR !empty($_POST['wachtwoord'])) {
//hier wat hij met de code moet doen
$login = $_POST['login'];
$email = $_POST['email'];
$wachtwoord = $_POST['wachtwoord'];
$ip = $_SERVER['REMOTE_ADDR'];
echo "Je bent succesvol op de site aangemeld!<br>";
echo "Login:". $login. "<br>";
echo "Email:". $email. "<br>";
echo "Wachtwoord:". $wachtwoord. "<br><br>";
echo "Veel plezier op de website!";
$sql="INSERT into gebruikers
(login,email,wachtwoord,ip,aanmeld)
VALUES
( $login , $email , $wachtwoord , $ip , NOW() )";
$query = mysql_query($sql) or die(mysql_error());
}
?>
if (!empty($_POST['login']) OR !empty($_POST['email']) OR !empty($_POST['wachtwoord'])) {
//hier wat hij met de code moet doen
$login = $_POST['login'];
$email = $_POST['email'];
$wachtwoord = $_POST['wachtwoord'];
$ip = $_SERVER['REMOTE_ADDR'];
echo "Je bent succesvol op de site aangemeld!<br>";
echo "Login:". $login. "<br>";
echo "Email:". $email. "<br>";
echo "Wachtwoord:". $wachtwoord. "<br><br>";
echo "Veel plezier op de website!";
$sql="INSERT into gebruikers
(login,email,wachtwoord,ip,aanmeld)
VALUES
( $login , $email , $wachtwoord , $ip , NOW() )";
$query = mysql_query($sql) or die(mysql_error());
}
?>
Maar nu blijft de pagina laden... (dit kan dus misschien ook in mijn mysql service zitten??? (lokaal)
Gewijzigd op 01/01/1970 01:00:00 door D B
Bierens schreef op 18.12.2006 18:18:
Dit snap ik dus niet: Je hebt problemen met je script, maar foutafhandeling e.d. ga je pas toevoegen wanneer je script werkt.Frank eigenlijk gaat het daar nog niet om :)
Ik weet dat ik heel de foutafhandeling en alles nog toe moet voegen... maar wil eerst deze query werkend krijgen, maar ik heb echt al vanalles geprobeerd..
Hier staat een test:
http://www.detrivia.nl/bierens <<< Als je bij Aanmeld jezelf aan probeert te melden
Ik weet dat ik heel de foutafhandeling en alles nog toe moet voegen... maar wil eerst deze query werkend krijgen, maar ik heb echt al vanalles geprobeerd..
Hier staat een test:
http://www.detrivia.nl/bierens <<< Als je bij Aanmeld jezelf aan probeert te melden
Wanneer alles goed werkt, heb je geen foutafhandeling meer nodig! Helaas is dit een utopie omdat er altijd wat fout kan gaan, maar het mag duidelijk zijn dat je juist nú zit te springen om foutafhandeling. Ga dat dan ook zo snel mogelijk inbouwen, je hoort daar eigenlijk mee te beginnen. Het scheelt je namelijk een hele hoop ellende met debuggen.
Nou die foutafhandeling heb ik er wel in zitten met mysqlerror enzo.. maar dacht dat jij het over de rest van het script had :)