Mysql connectie wilt niet werken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ruben kok

ruben kok

18/05/2012 14:54:55
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?PHP
if (!mysql_query($sql,$conn))
  {

  echo 'Verbinding met database mislukt';
  }

else
 {
     echo 'U bent succesvol aangemeld';
}

?>
Gewijzigd op 18/05/2012 14:56:06 door Ruben kok
 
PHP hulp

PHP hulp

26/04/2024 17:02:00
 
- SanThe -

- SanThe -

18/05/2012 14:58:08
Quote Anchor link
Bouw nette foutafhandeling in.
Dan zie je letterlijk wat er fout gaat.

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

Chris PHP

18/05/2012 14:59:34
Quote Anchor link
Wat krijg je als je dit toepast?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

if ($conn === false) { echo 'Verbinding met database mislukt';
}
else { echo 'U bent succesvol aangemeld';
}

?>
 
Ruben kok

ruben kok

18/05/2012 15:00:06
Quote Anchor link
- 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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?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]')"
;
?>
 
Wouter J

Wouter J

18/05/2012 15:02:11
Quote Anchor link
Haal variabelen uit quotes
 
Marco PHPJunky

Marco PHPJunky

18/05/2012 15:03:22
Quote Anchor link
Kijk eens naar Mysqli of PDO
mysql is leuk maar wel al erg verouderd...

Lees anders ook een dit topic:
Linkje
 
Chris PHP

Chris PHP

18/05/2012 15:03:34
Quote Anchor link
@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.
 
Ruben kok

ruben kok

18/05/2012 15:08:56
Quote Anchor link
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!
 
Chris PHP

Chris PHP

18/05/2012 15:11:08
Quote Anchor link
@Ruben,

nee je gebruikt gewoon mysql_connect, niet mysqli

Zie hier
 
Ruben kok

ruben kok

18/05/2012 15:44:02
Quote Anchor link
Chris NVT op 18/05/2012 15:11:08:
@Ruben,

nee je gebruikt gewoon mysql_connect, niet mysqli

Zie hier


Ik heb nu dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?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
 
Php knipper

php knipper

18/05/2012 15:47:21
Quote Anchor link
fout gelezen
Gewijzigd op 18/05/2012 15:53:50 door php knipper
 
Wouter J

Wouter J

18/05/2012 15:52:58
Quote Anchor link
PHPknipper, waarom weer terug naar mysql_* als TS nu net MySQLi gebruikt??
Tevens is jou code precies hetzelfde als die van de TS alleen vind ik die van de TS stukken netter doordat hij niet die vreemde if statements dingen gebruikt.

@ruben, kijk eens wat er gezegd is. Op MySQLi na merk ik er niks van dat je iets doet met de reacties hierboven.
 
- SanThe -

- SanThe -

18/05/2012 15:55:01
Quote Anchor link
Doe het zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$query
= "INSERT INTO user_data
          (
             voornaam,
             achternaam,
             ....
          )
          VALUES
          (
             '"
. mysql_real_escape_string($_POST['firstname']) . "',
             '"
. mysql_real_escape_string($_POST['lastname'] . '",
             ....
           )"
;    
?>


Sorry, zelf even omzetten naar mysqli.
Gewijzigd op 18/05/2012 16:01:24 door - SanThe -
 
Ruben kok

ruben kok

18/05/2012 15:55:22
Quote Anchor link
Php knipper op 18/05/2012 15:47:21:
probeer deze verbinding eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
###database gegevens
$server = "localhost";  // de host van de database
$gebruiker = "";  // gebruiker van database
$wachtwoord = "";  // wachtwoord van database
$db = "";  // naam database

###verbinding maken met database

if(!$connectie = mysql_connect($server,$gebruiker,$wachtwoord))
{

echo 'Fout bij het verbinden met de gebruiker.';
}
else {
if(!mysql_select_db($db,$connectie)) {
echo 'Fout bij het verbinden met de database.';
}
}

?>


Wat krijg je dan? als hij leeg is dan is de verbinding gelukt
probeer dan eens je sql


Met die code alleen krijg ik de lege pagina, dat klopt dus. Maar als ik de sql query erbij doe krijg ik weer: "verbinding met database mislukt" en als ik de quotes vand e query van buiten naar binnenzet krijg ik weer de T_SYNTAX error
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?PHP
###database gegevens
$server = "localhost";  // de host van de database
$gebruiker = "root";  // gebruiker van database
$wachtwoord = "";  // wachtwoord van database
$db = "familiedocumenten";  // naam database

###verbinding maken met database

if(!$connectie = mysql_connect($server,$gebruiker,$wachtwoord))
{

echo 'Fout bij het verbinden met de gebruiker.';
}
else {
if(!mysql_select_db($db,$connectie)) {
echo 'Fout bij het verbinden met de database.';
}
}

$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]')"
;
if (!mysql_query($sql))
  {

  echo 'Geen database gevonden';
  }

else
 {
     echo 'U bent succesvol aangemeld';
}

?>
 
Wouter J

Wouter J

18/05/2012 15:58:38
Quote Anchor link
Leuk dat je "verbinding met de database mislukt" krijgt. Die staat namelijk nergens in je script :)
Tevens komt het waarschijnlijk ook omdat je op regel 22 de foutmelding 'Geen Database gevonden' hebt i.p.v. 'query werkt niet'.

Je krijgt dus de foutmelding omdat je query niet werkt en dat komt door het geen santhe, chris en ik al hebben uitgelegd...
 
Ruben kok

ruben kok

18/05/2012 16:05:05
Quote Anchor link
Wouter J op 18/05/2012 15:58:38:
Leuk dat je "verbinding met de database mislukt" krijgt. Die staat namelijk nergens in je script :)
Tevens komt het waarschijnlijk ook omdat je op regel 22 de foutmelding 'Geen Database gevonden' hebt i.p.v. 'query werkt niet'.

Je krijgt dus de foutmelding omdat je query niet werkt en dat komt door het geen santhe, chris en ik al hebben uitgelegd...


Als ik dat doe dan krijg ik een syntax error, maar heb nu dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?PHP
###database gegevens
$server = "localhost";  // de host van de database
$gebruiker = "root";  // gebruiker van database
$wachtwoord = "";  // wachtwoord van database
$db = "familiedocumenten";  // naam database

###verbinding maken met database

if(!$connectie = mysql_connect($server,$gebruiker,$wachtwoord))
{

echo 'Fout bij het verbinden met de gebruiker.';
}
else {
if(!mysql_select_db($db,$connectie)) {
echo 'Fout bij het verbinden met de database.';
}
}

$sql = "INSERT INTO user_data
          (
             voornaam,
             achternaam,
          )
          VALUES
          (
             '"
. mysql_real_escape_string($_POST['firstname']) . "',
             '"
. mysql_real_escape_string($_POST['lastname']) . "',
           )"
;
if (!mysql_query($sql))
  {

  echo 'Kan query niet uitvoeren';
  }

else
 {
     echo 'U bent succesvol aangemeld';
}

?>


en dan krijg ik de 'Kan query niet uitvoeren' error.
Maar dit is echt vreselijk raar want dit heb ik nog nooit eerder gehad dat ie zo raar deed, normaal doet ie het gewoon fijn op de manier hoe ik het doe :S
 
Wouter J

Wouter J

18/05/2012 16:06:43
Quote Anchor link
Quote:
normaal doet ie het gewoon fijn op de manier hoe ik het doe :S

Dat kan dus echt niet...

Tevens 'ik krijg een error' welke error krijg je dan?
 
Php knipper

php knipper

18/05/2012 16:07:35
Quote Anchor link
$sql = "INSERT INTO user_data
(
voornaam,
achternaam,
)
VALUES
(
'" . mysql_real_escape_string($_POST['firstname']) . "',
'" . mysql_real_escape_string($_POST['lastname']) . "',
)";
bij achternaam moet geen , vanachter en dat is ook zo bij de values geen , achter lastname
 
Ruben kok

ruben kok

18/05/2012 16:18:13
Quote Anchor link
Php knipper op 18/05/2012 16:07:35:
$sql = "INSERT INTO user_data
(
voornaam,
achternaam,
)
VALUES
(
'" . mysql_real_escape_string($_POST['firstname']) . "',
'" . mysql_real_escape_string($_POST['lastname']) . "',
)";
bij achternaam moet geen , vanachter en dat is ook zo bij de values geen , achter lastname


held, held. Hij doet :D

Ik wil graag iedereen bedanken voor zijn hulp, ook al raakte ik zelf het overzicht kwijt na een tijdje.

Nogmaals, bedankt :D
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.