Geen weegave van mysql output
Ik heb het onderstaande script geschreven maar het werkt niet.
Hij connect wel met mijn database alleen pakt geen info daar uit.
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
66
67
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
<!DOCTYPE html>
<html>
<link rel='stylesheet' type='text/css' href='style/style.css' media='screen' />
<head>
<meta charset='UTF-8'>
<title>E-mail Overzicht</title>
</head>
<body>
<div id='container'>
<div id='content'>
<div id='sidebar'>
<h1>Registreren</h1>
</div>
<div id='infoPane'>
<h1>E-mail adressen overzicht</h1>
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="email"; // Database name
$tbl_name="mail"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// select record from mysql
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
?>
<table border='1'>
<tr>
<td align="center" bgcolor="#FFFFFF"><strong>Voornaam</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Tussen voegsel</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Achternaam</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['voornaam']; ?></td>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['tussen']; ?></td>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['achternaam']; ?></td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF" colspan='3'><? echo $rows['mail']; ?></td>
</tr>
<?php
// close while loop
}
// close connection;
mysql_close();
?>
</table>
</div>
</div>
<div id='footer'>
<p>Copyright © 2013 by Jesse Mulder</p>
</div>
</div>
</body>
</html>
<html>
<link rel='stylesheet' type='text/css' href='style/style.css' media='screen' />
<head>
<meta charset='UTF-8'>
<title>E-mail Overzicht</title>
</head>
<body>
<div id='container'>
<div id='content'>
<div id='sidebar'>
<h1>Registreren</h1>
</div>
<div id='infoPane'>
<h1>E-mail adressen overzicht</h1>
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="email"; // Database name
$tbl_name="mail"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// select record from mysql
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
?>
<table border='1'>
<tr>
<td align="center" bgcolor="#FFFFFF"><strong>Voornaam</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Tussen voegsel</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Achternaam</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['voornaam']; ?></td>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['tussen']; ?></td>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['achternaam']; ?></td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF" colspan='3'><? echo $rows['mail']; ?></td>
</tr>
<?php
// close while loop
}
// close connection;
mysql_close();
?>
</table>
</div>
</div>
<div id='footer'>
<p>Copyright © 2013 by Jesse Mulder</p>
</div>
</div>
</body>
</html>
SQL Data:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
CREATE TABLE IF NOT EXISTS `mail` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`voornaam` varchar(20) NOT NULL,
`tussen` varchar(5) NOT NULL,
`achternaam` varchar(35) NOT NULL,
`mail` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
INSERT INTO `mail` (`id`, `voornaam`, `tussen`, `achternaam`, `mail`) VALUES
(2, 'iemand', 'van', 'iemand', '[email protected]');
`id` int(3) NOT NULL AUTO_INCREMENT,
`voornaam` varchar(20) NOT NULL,
`tussen` varchar(5) NOT NULL,
`achternaam` varchar(35) NOT NULL,
`mail` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
INSERT INTO `mail` (`id`, `voornaam`, `tussen`, `achternaam`, `mail`) VALUES
(2, 'iemand', 'van', 'iemand', '[email protected]');
Alvast bedankt.
Gewijzigd op 12/10/2013 18:38:25 door Jesse Mulder
Edit:
Wat doe ik verkeerd?
Een goede topictitel verzinnen en codetags gebruiken om je code.
Een goede topictitel verzinnen en codetags gebruiken om je code.
Gewijzigd op 12/10/2013 18:27:48 door - Ariën -
- Aar - op 12/10/2013 18:26:06:
Wat doe ik verkeerd?
Een goede topictitel verzinnen en codetags gebruiken om je code.
[/modedit]
Wat doe ik verkeerd?
Een goede topictitel verzinnen en codetags gebruiken om je code.
[/modedit]
Wat zijn de code tags op dit forum ik ben hier nieuw
[code][/code]
Ook je query checken op errors. Probeer eens:
Zou het kunnen zijn. Aangezien $rows een array is natuurlijk en elke array apart moet worden ge-echo'd, dus vandaar een foreach (voor elke $rows (array[0],array[1].array[enz], word een $row gemaakt die je kan echo)
En http://wouterj.github.io/sql-boilerplate/ even doorlezen voor het overstappen naar MySQLi aangezien MySQL deprecated is sinds versie 5.5.0.
Gewijzigd op 12/10/2013 22:03:34 door Alex Mester
Alex Mester op 12/10/2013 19:54:48:
Zoizo geen MySQL gebruiken maar overstappen op MySQLi of PDO.
Ook je query checken op errors. Probeer eens:
Zou het kunnen zijn. Aangezien $rows een array is natuurlijk en elke array apart moet worden ge-echo'd, dus vandaar een foreach (voor elke $rows (array[0],array[1].array[enz], word een $row gemaakt die je kan echo)
En http://wouterj.github.io/sql-boilerplate/ even doorlezen voor het overstappen naar MySQLi aangezien MySQL deprecated is sinds versie 5.5.0.
Ook je query checken op errors. Probeer eens:
Zou het kunnen zijn. Aangezien $rows een array is natuurlijk en elke array apart moet worden ge-echo'd, dus vandaar een foreach (voor elke $rows (array[0],array[1].array[enz], word een $row gemaakt die je kan echo)
En http://wouterj.github.io/sql-boilerplate/ even doorlezen voor het overstappen naar MySQLi aangezien MySQL deprecated is sinds versie 5.5.0.
Ik krijg nu de volgende melding:
Warning: Illegal string offset 'mail' in C:\xampp\htdocs\mail_index\index.php on line 43
2
Mijn php script ziet er nu als volgt uit:
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
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
<!DOCTYPE html>
<html>
<link rel='stylesheet' type='text/css' href='style/style.css' media='screen' />
<head>
<meta charset='UTF-8'>
<title>E-mail Overzicht</title>
</head>
<body>
<div id='container'>
<div id='content'>
<div id='sidebar'>
<h1>Registreren</h1>
</div>
<div id='infoPane'>
<h1>E-mail adressen overzicht</h1>
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="email"; // Database name
$tbl_name="mail"; // Table name
// Connect to server and select database.
$link = mysqli_connect("$host", "$username", "$password")or die("cannot connect");
mysqli_select_db($link, "$db_name")or die("cannot select DB");
// select record from mysql
$sql="SELECT * FROM $tbl_name";
$result=mysqli_query($link, $sql) or die (mysqli_error());;
?>
<table border='1'>
<tr>
<td align="center" bgcolor="#FFFFFF"><strong>Voornaam</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Tussen voegsel</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Achternaam</strong></td>
</tr>
<?php
$rows = mysqli_fetch_array($result);
foreach ($rows as $row) {
echo $row['mail'];
}
// close connection;
mysqli_close($link);
?>
</table>
</div>
</div>
<div id='footer'>
<p>Copyright © 2013 by Jesse Mulder</p>
</div>
</div>
</body>
</html>
<html>
<link rel='stylesheet' type='text/css' href='style/style.css' media='screen' />
<head>
<meta charset='UTF-8'>
<title>E-mail Overzicht</title>
</head>
<body>
<div id='container'>
<div id='content'>
<div id='sidebar'>
<h1>Registreren</h1>
</div>
<div id='infoPane'>
<h1>E-mail adressen overzicht</h1>
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="email"; // Database name
$tbl_name="mail"; // Table name
// Connect to server and select database.
$link = mysqli_connect("$host", "$username", "$password")or die("cannot connect");
mysqli_select_db($link, "$db_name")or die("cannot select DB");
// select record from mysql
$sql="SELECT * FROM $tbl_name";
$result=mysqli_query($link, $sql) or die (mysqli_error());;
?>
<table border='1'>
<tr>
<td align="center" bgcolor="#FFFFFF"><strong>Voornaam</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Tussen voegsel</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Achternaam</strong></td>
</tr>
<?php
$rows = mysqli_fetch_array($result);
foreach ($rows as $row) {
echo $row['mail'];
}
// close connection;
mysqli_close($link);
?>
</table>
</div>
</div>
<div id='footer'>
<p>Copyright © 2013 by Jesse Mulder</p>
</div>
</div>
</body>
</html>
Ik heb nu alle MySQL opdrachten veranderd naar MySQLi opdrachten
Gewijzigd op 13/10/2013 13:01:19 door Jesse Mulder
Quote:
bool mysqli_select_db ( mysqli $link , string $dbname )
Je mist dus gewoon een variabele.
Ik vermoed dus dat het mis gaat met het lezen van de data uit de database.
Verder, ga inderdaad over op PDO of iets dergelijks.
Persoonlijk zou ik er ook de voorkeur aan geven om HTML te echoën i.p.v. het ergens buiten PHP te halen.
Erwin H op 13/10/2013 12:32:09:
Uit de manual (http://php.net/mysqli_select_db):
Je mist dus gewoon een variabele.
Quote:
bool mysqli_select_db ( mysqli $link , string $dbname )
Je mist dus gewoon een variabele.
Ik ben overgestapt op MySQLi
Gewijzigd op 13/10/2013 13:20:43 door Jesse Mulder
Jesse Mulder op 13/10/2013 13:02:39:
Ik ben overgestapt op MySQLi
Erwin H op 13/10/2013 12:32:09:
Uit de manual (http://php.net/mysqli_select_db):
Je mist dus gewoon een variabele.
Quote:
bool mysqli_select_db ( mysqli $link , string $dbname )
Je mist dus gewoon een variabele.
Ik ben overgestapt op MySQLi
Ja, dat veroorzaakt de fout dus....
Het werkt