Query wordt niet weggeschreven
Ik heb hier een script, het verandert de informatie van meubels, maar hij schrijft de wijziging niet door!
Geen error of iets...
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
66
67
68
69
70
71
72
73
74
75
76
77
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
66
67
68
69
70
71
72
73
74
75
76
77
<?php
$db_host = "localhost"; // Dit is dus de server waarmee we willen verbinden, onze eigen computer.
$db_user = "root"; // Dit is de gebruiker, als je later dit echt wilt gebruiken maak liever een andere gebruiker aan voor die database, dit is de admin gebruiker.
$db_pass = "tedbeste"; // Het wachtwoord van de gebruiker
$db_name = "meubels"; // De naam van de database waar mee we willen werken.
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name); // Om dat te doen moeten we eerst een verbinding aanmaken met de database.
// Zodra we verbinding hebben gemaakt willen we kijken of dit ook gelukt is en als dat niet gelukt is willen we een error weergeven met wat er fout is.
if($mysqli->connect_errno) { // als error doe:
echo $mysqli->connect_errno.": Couldn't connect to the database!"; //schreeuw de error.
}
$sql = "SELECT * FROM meubels";
$result = $mysqli->query($sql);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Update</title>
</head>
<body>
<form method="post">
<select name="selectToEdit">
<?php
while(($row = $result->fetch_assoc())) {
echo '<option value="'.$row['name'].'">'.$row['name'].'</option>';
}
?>
</select>
<br /><br />
<input name="submit" type="submit" value="Bewerk" />
</form>
<br /><br />
<?php
if(isset($_POST['submit'])) {
echo '<form method="post">';
echo '<table border="1">';
echo '<tr>';
echo '<th>Naam:</th>';
echo '<th>Beschrijving:</th>';
echo '<th>Prijs:</th>';
echo '<th>Afbeeldingslocatie</th>';
echo '</tr>';
$sql = "SELECT name, description, price, image FROM meubels WHERE name=?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('s', $_POST['selectToEdit']);
$stmt->execute();
$stmt->bind_result($name, $description, $price, $image);
if($stmt->fetch()) {
echo "<tr>";
echo '<td><input name="name" type="text" value="'.$name.'" /></td>';
echo '<td><input name="description" type="text" value="'.$description.'" /></td>';
echo '<td><input name="price" type="text" value="'.$price.'" /></td>';
echo '<td><input name="imageLocation" type="text" value="'.$image.'" /></td>';
echo "</tr>";
}
echo '</table>';
echo '<br /><input type="submit" name="submit2" value="Opslaan" />';
echo '</form>';
$selectToEdit = $_POST['selectToEdit'];
if(isset($_POST['submit2'])) {
$sql = "UPDATE meubels SET name=?, description=?, price=?, image=? WHERE name=?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('sssss', $_POST['name'], $_POST['description'], $_POST['price'], $_POST['imageLocation'], $selectToEdit);
$stmt->execute();
}
}
?>
</body>
</html>
$db_host = "localhost"; // Dit is dus de server waarmee we willen verbinden, onze eigen computer.
$db_user = "root"; // Dit is de gebruiker, als je later dit echt wilt gebruiken maak liever een andere gebruiker aan voor die database, dit is de admin gebruiker.
$db_pass = "tedbeste"; // Het wachtwoord van de gebruiker
$db_name = "meubels"; // De naam van de database waar mee we willen werken.
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name); // Om dat te doen moeten we eerst een verbinding aanmaken met de database.
// Zodra we verbinding hebben gemaakt willen we kijken of dit ook gelukt is en als dat niet gelukt is willen we een error weergeven met wat er fout is.
if($mysqli->connect_errno) { // als error doe:
echo $mysqli->connect_errno.": Couldn't connect to the database!"; //schreeuw de error.
}
$sql = "SELECT * FROM meubels";
$result = $mysqli->query($sql);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Update</title>
</head>
<body>
<form method="post">
<select name="selectToEdit">
<?php
while(($row = $result->fetch_assoc())) {
echo '<option value="'.$row['name'].'">'.$row['name'].'</option>';
}
?>
</select>
<br /><br />
<input name="submit" type="submit" value="Bewerk" />
</form>
<br /><br />
<?php
if(isset($_POST['submit'])) {
echo '<form method="post">';
echo '<table border="1">';
echo '<tr>';
echo '<th>Naam:</th>';
echo '<th>Beschrijving:</th>';
echo '<th>Prijs:</th>';
echo '<th>Afbeeldingslocatie</th>';
echo '</tr>';
$sql = "SELECT name, description, price, image FROM meubels WHERE name=?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('s', $_POST['selectToEdit']);
$stmt->execute();
$stmt->bind_result($name, $description, $price, $image);
if($stmt->fetch()) {
echo "<tr>";
echo '<td><input name="name" type="text" value="'.$name.'" /></td>';
echo '<td><input name="description" type="text" value="'.$description.'" /></td>';
echo '<td><input name="price" type="text" value="'.$price.'" /></td>';
echo '<td><input name="imageLocation" type="text" value="'.$image.'" /></td>';
echo "</tr>";
}
echo '</table>';
echo '<br /><input type="submit" name="submit2" value="Opslaan" />';
echo '</form>';
$selectToEdit = $_POST['selectToEdit'];
if(isset($_POST['submit2'])) {
$sql = "UPDATE meubels SET name=?, description=?, price=?, image=? WHERE name=?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('sssss', $_POST['name'], $_POST['description'], $_POST['price'], $_POST['imageLocation'], $selectToEdit);
$stmt->execute();
}
}
?>
</body>
</html>
Volgende keer [code][/code]-tags gebruiken a.u.b.![/modedit]
Gewijzigd op 15/06/2013 22:39:17 door Roel -
Nou, wat denk je ervan om foutafhandeling eens toe te voegen. Misschien dat je dan te zien gaat krijgen wat er fout gaat?
De error die ik krijg is : No Database Selected .
Code (php)
1
$db_name = "meubels"; // De naam van de database waar mee we willen werken. - See more at: http://www.phphulp.nl/php/forum/topic/query-wordt-niet-weggeschreven/91174/#sthash.Lu2yHS9X.dpuf
Klopt de database? Bestaat de database? En heb je ipv de database naam niet de tabelnaam ingevuld?