Php 7 drop database
Momenteel maak ik gebruik van PHP 7, waarin ik de sql drop / delete database wil gebruiken.
Als ik de query aan maak dan word mijn pagina blanco, 0p internet kom ik tegen dat deze functie niet meer in php 7 zit.
Is er een mogelijkheid dit toch op een of andere manier voor elkaar te krijgen?
Groetjes Yoeri
Want een SQL-query die je uitvoert staat los van PHP zelf.
Heb je überhaupt de rechten wel in MySQL/MariaDB om een DROP DATABASE uit te mogen voeren?
Gewijzigd op 31/03/2017 01:35:03 door - Ariën -
Het droppen van je database heeft niets te maken met je PHP versie. Het enige dat ik zo snel kan bedenken is dat je de verouderde mysql functies wil gebruiken, welke zoals ik aangeef verouderd zijn en als gevolg daarvan niet meer werken onder PHP 7. Wanneer dit niet het probleem is, is het inderdaad de vraag of je de benodigde rechten hebt.
Ik ben nog steeds voor een PHPhulp flowchart die je uitvoert voordat je een forumtopic opent. De topicstarter zal dan ongeveer ter hoogte van het onderdeel "staat het melden en weergeven van fouten aan" of iets in de trant van "log je ergens fouten" of "controleer je het resultaat van de query" de flowchart verlaten :p.
Helemaal mee eens, zeker gezien het huidige topc. Echter volgt er ook iets anders: het verschil tussen een PHP probleem en een extern probleem, in dit geval SQL. Hoe maak je in een flowchart duidelijk dat iets niets te maken heeft met PHP?
Code (php)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
$host = "";
$userserver = "";
$passwordserver = "";
$username = "";
$password = "";
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$host = $_POST['host'];
$userserver = $_POST['userserver'];
$passwordserver = $_POST['passwordserver'];
$username = $_POST['username'];
$password = $_POST['password'];
$conn = new mysqli($host, $userserver, $passwordserver);
if ($conn->connect_error) {
$message = "engine_error";
}else{
$sql = "CREATE DATABASE Mydb";
if ($conn->query($sql) === TRUE) {
$conn->close();
$conn_table = new mysqli($host, $userserver, $passwordserver, "Mydb");
$sql = "CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL,
password VARCHAR(30) NOT NULL,
reg_date TIMESTAMP
)";
if ($conn_table->query($sql) === TRUE) {
$message = "created_database";
$conn_table->close();
} else {
$message = "created_error";
$sql="DROP DATABASE Mydb";
}
} else {
$message = "created_error";
}
}
}
?>
$host = "";
$userserver = "";
$passwordserver = "";
$username = "";
$password = "";
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$host = $_POST['host'];
$userserver = $_POST['userserver'];
$passwordserver = $_POST['passwordserver'];
$username = $_POST['username'];
$password = $_POST['password'];
$conn = new mysqli($host, $userserver, $passwordserver);
if ($conn->connect_error) {
$message = "engine_error";
}else{
$sql = "CREATE DATABASE Mydb";
if ($conn->query($sql) === TRUE) {
$conn->close();
$conn_table = new mysqli($host, $userserver, $passwordserver, "Mydb");
$sql = "CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL,
password VARCHAR(30) NOT NULL,
reg_date TIMESTAMP
)";
if ($conn_table->query($sql) === TRUE) {
$message = "created_database";
$conn_table->close();
} else {
$message = "created_error";
$sql="DROP DATABASE Mydb";
}
} else {
$message = "created_error";
}
}
}
?>
Als ik de regel
weg haal dan zie ik mijn pagina, zet ik de regel erin dan is mijn pagina blanco.
Update: Paradise was van iets anders, excuses hiervoor het gaat om regel 46
Gewijzigd op 01/04/2017 00:35:30 door Yoeri Achterbergen
En waar zet je die regel dan neer?
Wut?
je controleert wel of $conn slaagt, maar niet of $conn_table slaagt. Waarom (niet)? Tijd voor wat wrapper classes die je nogal wat werk besparen imho.
nog steeds niet wat in regel 46 staat.
De php file geeft geheel blanco weer. Het moet toch mogelijk zijn een database te kunnen verwijderen als een statement false is?
Dat klinkt wel leuk, maar wat er op regel 46 staat wordt nooit uitgevoerd. Ook zou ik zelf nooit in een script databases gaan maken en verwijderen, al is het alleen maar omdat het niet logisch is dat je databasegebruiker die rechten heeft.