DB gegevens worden niet opgehaald
Ik zit met een probleempje. Op mijn localhost haalt de onderstaande code de gegevens juist op uit de database. Nu het 100% online staat haalt hij helemaal niets op! Heeft het te maken met een of andere schrijfrechten?! Snap er niets van..
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
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
<?php
session_start();
include 'connect.php';
if ($_SESSION['login'] != 1)
{
header('location:login.php');
exit();
}
$sql = mysql_fetch_assoc(mysql_query("SELECT * FROM HOME"));
?>
<form method="post" action="edithome_p.php" enctype="multipart/form-data">
<table>
<tr>
<td>Logo</td>
<td><input type="file" name="logo" id="logo"/>Huidige logo: <?php echo $sqlh['logo']; ?></td>
</tr>
<tr>
<td>Tekst</td>
<td><textarea name="tekst" id="tekst"><?php echo $sql['tekst']; ?></textarea><br/></td>
</tr>
<tr>
<td>Afbeelding</td>
<td><input type="file" name="afbeelding" id="afbeelding"/>Huidige afbeelding: <?php echo $sql['afbeelding']; ?></td>
</tr>
<tr>
<td>Algemeen</td>
</tr>
<tr>
<td>Titel</td>
<td><input type="text" name="title" value="Titel" autocomplete="off"/></td>
</tr>
<tr>
<td>Facebook</td>
<td><input type="text" name="facebook" value="<?php echo $sql['facebook']; ?>"/></td>
</tr>
<tr>
<td>Twitter</td>
<td><input type="text" name="twitter" value="<?php echo $sql['twitter']; ?>" autocomplete="off"/></td>
</tr>
<tr>
<td>Google+</td>
<td><input type="text" name="googleplus" value="<?php echo $sql['googleplus']; ?>" autocomplete="off"/></td>
</tr>
<tr>
<td>Youtube</td>
<td><input type="text" name="youtube" value="<?php echo $sql['youtube']; ?>" autocomplete="off"/></td>
</tr>
<tr>
<td>LinkedIn</td>
<td><input type="text" name="linkedin" value="<?php echo $sql['linkedin']; ?>" autocomplete="off"/></td>
</tr>
</form>
session_start();
include 'connect.php';
if ($_SESSION['login'] != 1)
{
header('location:login.php');
exit();
}
$sql = mysql_fetch_assoc(mysql_query("SELECT * FROM HOME"));
?>
<form method="post" action="edithome_p.php" enctype="multipart/form-data">
<table>
<tr>
<td>Logo</td>
<td><input type="file" name="logo" id="logo"/>Huidige logo: <?php echo $sqlh['logo']; ?></td>
</tr>
<tr>
<td>Tekst</td>
<td><textarea name="tekst" id="tekst"><?php echo $sql['tekst']; ?></textarea><br/></td>
</tr>
<tr>
<td>Afbeelding</td>
<td><input type="file" name="afbeelding" id="afbeelding"/>Huidige afbeelding: <?php echo $sql['afbeelding']; ?></td>
</tr>
<tr>
<td>Algemeen</td>
</tr>
<tr>
<td>Titel</td>
<td><input type="text" name="title" value="Titel" autocomplete="off"/></td>
</tr>
<tr>
<td>Facebook</td>
<td><input type="text" name="facebook" value="<?php echo $sql['facebook']; ?>"/></td>
</tr>
<tr>
<td>Twitter</td>
<td><input type="text" name="twitter" value="<?php echo $sql['twitter']; ?>" autocomplete="off"/></td>
</tr>
<tr>
<td>Google+</td>
<td><input type="text" name="googleplus" value="<?php echo $sql['googleplus']; ?>" autocomplete="off"/></td>
</tr>
<tr>
<td>Youtube</td>
<td><input type="text" name="youtube" value="<?php echo $sql['youtube']; ?>" autocomplete="off"/></td>
</tr>
<tr>
<td>LinkedIn</td>
<td><input type="text" name="linkedin" value="<?php echo $sql['linkedin']; ?>" autocomplete="off"/></td>
</tr>
</form>
Hopelijk ziet iemand de fout. Er is gewoon connectie met de juiste database overigens anders zou ik een foutmelding krijgen.
---
Wil je dit eens uitvoeren?
Juist de ... invullen, met je connectie data.
Iets van errors / warnings te vinden?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
if(false === $db = mysql_connect(...)) {
echo 'connectie met mySQL mislukt<br>';
}
if(false === mysql_select_db('...', $db)) {
echo 'connectie met de gekozen DB mislukt<br>';
}
$sql = "SELECT * FROM HOME";
if(false === $res = mysql_query($sql)) {
echo 'Fout geformuleerde SQL string';
}
// 1 rij fetchen
$row = mysql_fetch_assoc(mysql_query($res));
if (! $row) {
echo 'Goed geformuleerde SQL string; echter geen enkele rij gevonden';
}
else {
echo 'alles gelukt! Yippii<br>' . print_r($row, 1);
}
?>
if(false === $db = mysql_connect(...)) {
echo 'connectie met mySQL mislukt<br>';
}
if(false === mysql_select_db('...', $db)) {
echo 'connectie met de gekozen DB mislukt<br>';
}
$sql = "SELECT * FROM HOME";
if(false === $res = mysql_query($sql)) {
echo 'Fout geformuleerde SQL string';
}
// 1 rij fetchen
$row = mysql_fetch_assoc(mysql_query($res));
if (! $row) {
echo 'Goed geformuleerde SQL string; echter geen enkele rij gevonden';
}
else {
echo 'alles gelukt! Yippii<br>' . print_r($row, 1);
}
?>
Gewijzigd op 26/09/2013 15:56:42 door Kris Peeters
Toevoeging op 27/09/2013 09:23:27:
Uitkomst:
Fout geformuleerde SQL stringGoed geformuleerde SQL string; echter geen enkele rij gevonden >
Hmm. Dit had ik niet verwacht. Bedankt voor je hulp!
Uitkomst:
Fout geformuleerde SQL stringGoed geformuleerde SQL string; echter geen enkele rij gevonden >
Hmm. Dit had ik niet verwacht. Bedankt voor je hulp!
Gewijzigd op 27/09/2013 09:27:13 door CNEPHP -
C Stonebakers op 27/09/2013 09:22:07:
Uitkomst:
Fout geformuleerde SQL stringGoed geformuleerde SQL string; echter geen enkele rij gevonden >
Fout geformuleerde SQL stringGoed geformuleerde SQL string; echter geen enkele rij gevonden >
O ja; de if's stoppen nu het proces niet.
Dus je moet eerst de eerste error oplossen; de volgende error displays tellen niet meer eens 1 ding fout loopt.
-----
Dus ...
Als je nu naar je website gaat, naar phpMyAdmin (eerst de juiste DB selecteren), en je vult dit is
SELECT * FROM HOME
Dan zal je van phpMyadmin een fout krijgen.
Misschien bestaat de tabel nog niet (tja, veel anders kan het niet zijn).
Ik had het probleem al gevonden. Beetje overheen gekeken tijdens het coderen. Er was namelijk verbinding met de tabel proberen te maken in hoofdletters (dit lukte wel in localhost maar niet online..) terwijl de tabel met kleine letters is aangemaakt. Veel problemen door een klein foutje