Goeiemiddag,

Ik heb gewoon een hele standaard database connectie gemaakt in php, alles heeft de juiste gegevens maar ik krijg maar "Verbinding met database mislukt" te zien.
Alle gegevens komen correct overeen met de gegevens in phpmyadmin.
Ik gebruik WAMP server
SQL versie: 5.5.16
PHP versie: 5.3.8

hier de connectie in php, ik bespaar jullie de rest van het script

<?PHP
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'wachtwoord';

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die                      ('Error connecting to mysql');

$dbname = 'databasenaam';
mysql_select_db($dbname);
?>


en het laatste gedeelte:

<?PHP
if (!mysql_query($sql,$conn))
  {
  echo 'Verbinding met database mislukt';
  }
else
 {
	 echo 'U bent succesvol aangemeld';
}
?>
Bouw nette foutafhandeling in.
Dan zie je letterlijk wat er fout gaat.

In jouw geval is het overduidelijk.
$sql bestaat niet.
Wat krijg je als je dit toepast?


<?php

if ($conn === false) { echo 'Verbinding met database mislukt';
} else { echo 'U bent succesvol aangemeld';
}
?>
- SanThe - op 18/05/2012 14:58:08

Bouw nette foutafhandeling in.
Dan zie je letterlijk wat er fout gaat.

In jouw geval is het overduidelijk.
$sql bestaat niet.


Ik heb de rest van de code bespaart en die $sql bestaat uiteraard wel gewoon


<?PHP
sql = "INSERT INTO user_data (voornaam, achternaam, straat_nu, postcode, woonplaats, gebruikersnaam, wachtwoord, email, geboortedatum)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[street_nu]','$_POST[zipcode]','$_POST[city]','$_POST[username]','$_POST[password]','$_POST[emailadress]','$_POST[birthdate]')";
?>
Haal variabelen uit quotes
Kijk eens naar Mysqli of PDO
mysql is leuk maar wel al erg verouderd...

Lees anders ook een dit topic:
Linkje
@Ruben,

Probeer mijn foutafhadeling eens puur om te kijken of je connectie fout gaat.

Dan 3 dingen over je query.

1) Escape alle gegevens met mysql_real_escape_string();
2) Je vergeet overal de '' in je $_POST, dus het moet zo $_POST['firstname']
3) Zet alle $_POST buiten de quotes.

Daar zal het foutgaan.
Marco PHPJunky op 18/05/2012 15:03:22

Kijk eens naar Mysqli of PDO
mysql is leuk maar wel al erg verouderd...

Lees anders ook een dit topic:
Linkje


het is een mysqli :)

Chris NVT op 18/05/2012 15:03:34

@Ruben,

Probeer mijn foutafhadeling eens puur om te kijken of je connectie fout gaat.

Dan 3 dingen over je query.

1) Escape alle gegevens met mysql_real_escape_string();
2) Je vergeet overal de '' in je $_POST, dus het moet zo $_POST['firstname']
3) Zet alle $_POST buiten de quotes.

Daar zal het foutgaan.


Ik ga nu even je foutafhandeling proberen en je punten even opnemen!

@Ruben,

nee je gebruikt gewoon mysql_connect, niet mysqli

Zie hier
Chris NVT op 18/05/2012 15:11:08

@Ruben,

nee je gebruikt gewoon mysql_connect, niet mysqli

Zie hier


Ik heb nu dit:

<?PHP
$link = new mysqli('localhost', 'root', '', 'familiedocumenten');

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
$query = 'INSERT INTO user_data (voornaam, achternaam, straat_nu, postcode, woonplaats, gebruikersnaam, wachtwoord, email, geboortedatum)
VALUES
($_POST["firstname"],$_POST["lastname"],$_POST["street_nu"],$_POST["zipcode"],$_POST["city"],$_POST["username"],$_POST["password"],$_POST["emailadress"],$_POST["birthdate"])';	

//SQL query uitvoeren
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}
/* close connection */
mysqli_close($link);
?>


Nu krijg ik een lege pagina en voert ie niks in de database in :S
fout gelezen

Reageren