Database aanmaken in MySQL via EasyPHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jdog Silverblade

Jdog Silverblade

11/07/2012 14:54:45
Quote Anchor link
Hallo,
Ik gebruik het programma EasyPHP om mijn php programma's op internet (127.0.0.1) te laten zien.
Echo, variable aanmaken etc. werkt allemaal prima.
Nu wil ik MySQL verbinden met EasyPHP om een database op internet te laten zien.
Op wikibooks staat de code van mysql_connect(...), die goed werkt (ik krijg geen foutmelding).
Op wikibooks staat ook de code voor een database aan te maken, namelijk:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$Verbinding = mysql_connect(...);
$Result = mysql_query("CREATE DATABASE ".mysql_real_escape_string($_CONFIG["Database"]), $Verbinding);
if($Result == false)
{
trigger_error("Kan database niet aanmaken.");
}


Dit geeft mij de error code van Kan database niet aanmaken.
(Natuurlijk heb ik mysql_connect(...) wel ingevult waar ... staat.)

Als ik rechts klik op het icoontje van EasyPHP, en kijk op het menu Configuratie, en PhpMyAdmin aanklik wordt ik doorverzonden naar 127.0.0.1/...
Daar krijg ik ook een foutmelding, namelijk "Object niet gevonden".

Wat doe ik fout?
Bedankt
~Jeroen
Gewijzigd op 11/07/2012 15:25:38 door Bas IJzelendoorn
 
PHP hulp

PHP hulp

26/12/2024 04:06:22
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/07/2012 15:11:21
Quote Anchor link
Staat de database ook op de localhost?
Als jou bovenstaande code je hele code is controleer je niet of de verbinding is gelukt, en met mysql_error() kan je nagaan wat er fout gaat. Bv CREATE DATABASE kan mislukken vanwege onvoldoende rechten.
 
Jdog Silverblade

Jdog Silverblade

11/07/2012 15:18:46
Quote Anchor link
Dit is de hele code die ik gebruik:

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
<?php
$_CONFIG
["Username"] = 'root';
$_CONFIG["Password"] = '';
$_CONFIG["Host"]     = 'localhost';
$_CONFIG["Database"] = 'gastenboek';
 
$Verbinding = mysql_connect($_CONFIG["Host"], $_CONFIG["Username"], $_CONFIG["Password"]);
 
if($Verbinding == false) // Verbinding is mislukt!
{
        trigger_error("Kan geen verbinding maken met de database");
}


$Result = mysql_query("CREATE DATABASE ".mysql_real_escape_string($_CONFIG["Database"]), $Verbinding);
if($Result == false)
{

trigger_error("Kan database niet aanmaken.");
}

else
{
echo ("Database is succesvol aangemaakt.");
}


mysql_close($Verbinding);
?>


En als ik naar localhost ga krijg ik hetzelfde scherm als bij 127.0.0.1
(localhost betekent je interne ip adres, het interne ip adres is bij iedereen 1127.0.0.1)

~Jeroen
 
- SanThe -

- SanThe -

11/07/2012 15:19:07
Quote Anchor link
Als je iets met een daadwerkelijke false (of true) wilt vergelijken, gebruik dan === in plaats van == .
 
Aad B

Aad B

11/07/2012 15:23:45
Quote Anchor link
Ik vraag me af of je code daadwerkelijk wordt uitgevoerd tegen MySQL. Dit voorbeeld laat ook de MySQL error zien (voor zover aanwezig)
Probeer eens een ander voorbeeld:
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
<?php
$con
= mysql_connect("localhost","root","");
if (!$con)
  {

  die('Could not connect: ' . mysql_error());
  }


if (mysql_query("CREATE DATABASE gastenboek",$con))
  {

  echo "Database created";
  }

else
  {
  echo "Error creating database: " . mysql_error();
  }


mysql_close($con);
?>
Gewijzigd op 11/07/2012 15:26:51 door Aad B
 
Jdog Silverblade

Jdog Silverblade

11/07/2012 15:24:00
Quote Anchor link
if($Result === false)
{
...
}

Geeft dezelfde error.
~Jeroen

Toevoeging op 11/07/2012 15:29:50:

Ik krijg nu een andere error, maar ik denk dat deze goed nieuws is:

Error creating database: Can't create database 'gastenboek'; database

Is dit goed of wat moet ik aanpassen?
~Jeroen
 
Aad B

Aad B

11/07/2012 15:49:56
Quote Anchor link
Welke code gebruik je nu? Waar komt de melding "Error creating database: Can't create database 'gastenboek' vandaan? Ik neem aan uit mijn voorbeeld? In dit geval kan het een rechtenkwestie zijn maar met root zou het moeten kunnen.
Gewijzigd op 11/07/2012 15:53:13 door Aad B
 
Kris Peeters

Kris Peeters

11/07/2012 16:07:20
Quote Anchor link
Dat is een rechtenkwestie, inderdaad.
Bij sommige servers kan je enken via phpMyadmin een database aanmaken; niet via php (voor zover ik weet).
Gewijzigd op 11/07/2012 16:07:40 door Kris Peeters
 
- SanThe -

- SanThe -

11/07/2012 16:09:37
Quote Anchor link
Kris Peeters op 11/07/2012 16:07:20:
Dat is een rechtenkwestie, inderdaad.
Bij sommige servers kan je enken via phpMyadmin een database aanmaken; niet via php (voor zover ik weet).


Dat lijkt mij niet logisch.
PhpMyAdmin is ook gewoon PHP.
 
Elwin - Fratsloos

Elwin - Fratsloos

11/07/2012 16:15:10
Quote Anchor link
- SanThe - op 11/07/2012 16:09:37:
Dat lijkt mij niet logisch.
PhpMyAdmin is ook gewoon PHP.

Maar het kan wel zijn dat PMA met een andere database-gebruiker (met andere rechten) werkt.
 
- SanThe -

- SanThe -

11/07/2012 16:17:29
Quote Anchor link
Dat klopt, maar die is dan te vinden.
 
Aad B

Aad B

11/07/2012 16:19:36
Quote Anchor link
EasyPHP is WAMP, daar zit toch ook PhpMyAdmin in? Misschien kan TS dat beter gebruiken in plaats van veel energie te steken in om het met losse php statements voor elkaar te krijgen.
 
Jdog Silverblade

Jdog Silverblade

11/07/2012 16:24:42
Quote Anchor link
@Aad B: Die foutmelding komt inderdaad van jouw voorbeeld.
Ik heb alles van mij verwijderd, en die van jouw erin gekopieerd.
Toen kreeg ik die melding.

Wat bedoelen jullie met 'rechtenkwestie'? Hoe moet ik dat oplossen?
~Jeroen

Toevoeging op 11/07/2012 16:26:32:

Edit: Ja, PhpMyAdmin zit in EasyPHP.
Ik kan PhpMyAdmin benaderen via het icoontje van EasyPHP.
 
Aad B

Aad B

11/07/2012 16:31:26
Quote Anchor link
Dan binnen PhpMyAdmin de database aanmaken en de tabellen. De rechtenkwestie: Er staat me iets van bij dat root zonder password niet via php scripts kan, dus root zonder password wordt op client/server zoals dat heet niet geaccepteerd, alleen op commandline level op de MySQL server kan dat. PhPMyAdmin zal wel een user met voldoende rechten hebben tegen MySQL.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

11/07/2012 16:33:35
Quote Anchor link
Elwin - Fratsloos op 11/07/2012 16:15:10:
- SanThe - op 11/07/2012 16:09:37:
Dat lijkt mij niet logisch.
PhpMyAdmin is ook gewoon PHP.

Maar het kan wel zijn dat PMA met een andere database-gebruiker (met andere rechten) werkt.

Inderdaad maar dat hoeft niet persee een andere gebruiker te zijn, je kan nl. voor een gebruiker verschillende IP's opgeven, en daarop de rechten uitdelen.
 
Aad B

Aad B

11/07/2012 16:37:56
Quote Anchor link
Ger van Steenderen op 11/07/2012 16:33:35:
Elwin - Fratsloos op 11/07/2012 16:15:10:
- SanThe - op 11/07/2012 16:09:37:
Dat lijkt mij niet logisch.
PhpMyAdmin is ook gewoon PHP.

Maar het kan wel zijn dat PMA met een andere database-gebruiker (met andere rechten) werkt.

Inderdaad maar dat hoeft niet persee een andere gebruiker te zijn, je kan nl. voor een gebruiker verschillende IP's opgeven, en daarop de rechten uitdelen.



@Ger: zo ingewikkeld zit WAMP niet in elkaar, dat is slechts een 127.0.0.1 applicatie
 



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.