• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af tarj1974 | 03.03.2015 20:32

Fejl i forbindelse med MySQL og PHP

Programmering
Hej i gruppen.

Koden underst skal lave x antal databaser til Joomla! udvikling. Undskylder de forsvundne indrykninger

Jeg kører følgende kode der skal sætte Bruger og Kodeord på en database, efter databasen er blevet skabt:

$sql= "CREATE USER " . "'" . $LocalUsername . "'@'" . $servername . "'" . " IDENTIFIED BY " . "'" . $LocalPassword . "'";

if ($conn->query($sql) === TRUE) {
echo "\n\n USER and PASSWORD created successfully \n\n";
} else {
die ("\n\n Error creating USER and PASSWORD: " . $conn->error . "\n\n");

Jeg får følgende fejl:

Error creating USER and PASSWORD: Operation CREATE USER failed for 'prefix0'@'localhost'


Hvor ligger fejlen? og hvordan udbedrer man den?

Har inspiration fra:
http://dev.mysql.com/doc/refman/5.5/en/create-user.html

bruger MySQL 5.5

Bruger Ubuntu Server 14.04.2

Mvh,
Thomas


Her Følger hele koden, som jeg kører med:
"sudo php -f generate_databases_in_php.php"





Database creation in PHP




<?php

$servername = "localhost";
$username = "MySQL root";
$password = "Indsaet MySQL root password her";
$startDB= 0;
$endDB= 2;
$PrefixDB="prefix";
$spreadsheetCSV="databases.csv";

// Open speadsheet for append.

$csvFile = fopen($spreadsheetCSV, "a");

// Create connection

$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("\n Connection open failed: \n" . $conn->connect_error);
}

for($LocalDB = $startDB; $LocalDB <= $endDB; $LocalDB++)
{


//$LocalDB=system("mkpasswd 'date +%N' ");

$DatabaseName= $PrefixDB . $LocalDB;

// Create DATABASE

$sql= "CREATE DATABASE " . $DatabaseName ;

if ($conn->query($sql) === TRUE) {
echo "\n\n DATABASE created successfully \n\n";
} else {
die ("\n\n Error creating DATABASE: " . $conn->error . "\n\n");
}

//$LocalUsername = substr(system("mkpasswd 'date +%N'"), 0);

$LocalUsername = $DatabaseName;

$LocalPassword = substr(system("mkpasswd 'date +%N'"), 0);

echo "\n\n Local Password is " . $LocalPassword . "\n\n" ;


// Create USER and PASSWORD
// HER GÅR DET GALT!

$sql= "CREATE USER " . "'" . $LocalUsername . "'@'" . $servername . "'" . " IDENTIFIED BY " . "'" . $LocalPassword . "'";

if ($conn->query($sql) === TRUE) {
echo "\n\n USER and PASSWORD created successfully \n\n";
} else {
die ("\n\n Error creating USER and PASSWORD: " . $conn->error . "\n\n");
}

// GRANT ALL ON LocalDB.* TO USERNAME

$sql = "GRANT ALL ON " . $DatabaseName . ".*" . " TO " . $LocalUsername . "@" . $servername ;

echo "\n\n" . $sql . "\n\n";

if ($conn->query($sql) === TRUE) {
echo "\n\n Granting created successfully \n\n";
} else {
die ("\n\n Error creating GRANTING: " . $conn->error . "\n\n");
}


fputcsv($csvFile, array((string)$LocalDB, $DatabaseName, $LocalUsername, $LocalPassword));



};

// Close database connection

$conn->close();

// Close csv spreadsheet file

fclose($csvFile);

?>




Mvh,
Thomas
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer5

# 1

11 år siden

Permalink

Indsendt af marlar den 3. marts 2015 kl. 21:42

Permalink

Prøv at udskrive alle SQL

Prøv at udskrive alle SQL sætningerne og vis dem her (du kan lave kodeordet om).
  • Log ind eller opret dig for at tilføje kommentarer

# 2

11 år siden

Permalink

Indsendt af marlar den 3. marts 2015 kl. 21:42

Permalink

Prøv at udskrive alle SQL

Prøv at udskrive alle SQL sætningerne og vis dem her (du kan lave kodeordet om).
  • Log ind eller opret dig for at tilføje kommentarer

# 3

11 år siden

Permalink

Indsendt af tarj1974 den 4. marts 2015 kl. 15:13

Permalink

Hej Marlar :)
$conn = new

Hej Marlar :)

$conn = new mysqli($servername, $username, $password);

$sql= "CREATE DATABASE " . $DatabaseName ;
CREATE DATABASE prefix0 (dette virker)

$sql= "CREATE USER " . "'" . $LocalUsername . "'@'" . $servername . "'" . " IDENTIFIED BY " . "'" . $LocalPassword . "'";
CREATE USER 'prefix0'@'localhost' IDENTIFIED BY 'genereret password' (Både med og uden . ";" til sidst, brokker den sig)
(dette virker ikke)

Den når ikke længere end her til.

tjek: http://dev.mysql.com/doc/refman/5.5/en/create-user.html

Mvh,
Thomas :)
  • Log ind eller opret dig for at tilføje kommentarer

# 4

11 år siden

Permalink

Indsendt af tarj1974 den 4. marts 2015 kl. 16:15

Permalink

Ahhh! brugerne fandtes

Ahhh! brugerne fandtes allerede
DE er slettede, kører nu bedre! :D
  • Log ind eller opret dig for at tilføje kommentarer

# 5

11 år siden

Permalink

Indsendt af marlar den 4. marts 2015 kl. 23:25

Permalink

Godt du fik løst problemet!

Godt du fik løst problemet!
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

KDE Plasma 6.6 skrivebordsmiljø udgivet 0
youtube-tui: Nyd YouTube fra terminalen som en professionel 0
GRUB 2.14 introducerer understøttelse af EROFS, forbedringer til Btrfs og LVM 0
KDE Plasma 6.6 tilføjer en funktion, som brugerne har spurgt efter i evigheder 0
Linux i København 12.01.2026: Open source i det offentlige 0

Seneste aktivitet

BigLinux 5
Det engang så elskede PCLinuxOS er tilbage - og det er stadig en fantastisk Windows erstatning 1
rsync og filsystem 6
Mousam er en detaljeret desktop vejrapp til Linux 1
Hjælp til Handbrake - ingen dk-undertekster 1
luckyBackup 2
GIMP 30
Pinegrow på Debian 13 ? 4
Openmediavault 1
E-mail blues 9
Driver til min scanner? 5
Printer Epson ET-2865 problem 16
Sudo 7
Thunderbird filvedligeholdelse 2
Debian 13.3.0 8
Linux Mint 22.3 - hvornår opdatere? 10
Canon-printer: Jeg savner "Ink-Toner Level"-meddelelse 10
billede af nuværende installation 2
mapper 4
LinuxIn live 9

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !