Klein probleempje, kan geen gegevens weergeven uit DB
Ik heb het volgende script zelf geschreven:
[script]
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
include ("/includes/connect.php");
if(isset($_POST['action'])) {
// Uit te voeren actie bepalen:
$action = $_POST['action'];
$name = $_POST['name'];
if ($action === "View") {
// $action == "View":
if ($action == "View") {
$Qviewgeneral = "SELECT Name, Birthday, Age, Place, Group
FROM general
WHERE Name = '$name'";
$Rviewgeneral = mysql_query($Qviewgeneral);
while ($row = mysql_fetch_array($Rviewgeneral)) {
$namegeneral = $row['Name'];
}
}
}
}
?>
include ("/includes/connect.php");
if(isset($_POST['action'])) {
// Uit te voeren actie bepalen:
$action = $_POST['action'];
$name = $_POST['name'];
if ($action === "View") {
// $action == "View":
if ($action == "View") {
$Qviewgeneral = "SELECT Name, Birthday, Age, Place, Group
FROM general
WHERE Name = '$name'";
$Rviewgeneral = mysql_query($Qviewgeneral);
while ($row = mysql_fetch_array($Rviewgeneral)) {
$namegeneral = $row['Name'];
}
}
}
}
?>
<html>
<head>
<title>User list</title>
</head>
<form action="page.php" method="post">
Naam: <input type="text" name="name">
<input class="knop" name="action" type="submit" value="View" accesskey="v">
</form>
<P><P>
<body>
<table>
<tr>
<td></td>
</tr>
</table>
</body>
</html>
[/script]
En het is de bedoeling dat ik dan in een html tabel gegevens kan laten weergeven vanuit de database tabel. Alleen internet geeft het volgende aan:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampplite\htdocs\medical\patient_card.php on line 17
Kan iemand mij helpen met het probleem?
Gewijzigd op 24/02/2011 14:19:50 door Christiaan de kleine
http://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/
Script is lek => sql-injection.
Gewijzigd op 24/02/2011 14:26:18 door - SanThe -
http://snipplr.com/view/45252/goede-foutafhandeling-mysql/
- Variabelen moeten buiten de quotes
- Gebruiken mysql_fetch_assoc
- Als je meerdere gegevens ophaalt kan je bijv. werken met array
- regel 5-6 onnodig variabelen kopiëren
- SQL injection mogelijk
- Maak je code overzichtelijk en gebruik tabs op de goede manier.
- Voeg eerst eens goede foutafhandeling toe: - Variabelen moeten buiten de quotes
- Gebruiken mysql_fetch_assoc
- Als je meerdere gegevens ophaalt kan je bijv. werken met array
- regel 5-6 onnodig variabelen kopiëren
- SQL injection mogelijk
- Maak je code overzichtelijk en gebruik tabs op de goede manier.
Gewijzigd op 24/02/2011 14:28:46 door Wouter J
- SanThe - op 24/02/2011 14:25:31:
Query is mislukt.
Zou dat ook de reden zijn met "Call to a member function fetch_array() on a non-object in"?
SQL injection maakt niet uit, ik ben de enige die gebruikt op mijn eigen laptop
waarom array, dit werkt ook toch?? en ik moet nog meer gegevens ophalen vanuit meerde tabellen.
Je gebruikt een 'reserved word' als veldnaam. Dat kan niet.
???????, waar?
Christiaan de kleine op 24/02/2011 14:40:06:
???????, waar?
Google eens. Je mag zelf ook wat doen.
waar denk je dat ik de hele tijd al mee bezig ben dan...
Jasper Geelen op 24/02/2011 14:28:30:
Zou dat ook de reden zijn met "Call to a member function fetch_array() on a non-object in"?
- SanThe - op 24/02/2011 14:25:31:
Query is mislukt.
Zou dat ook de reden zijn met "Call to a member function fetch_array() on a non-object in"?
Het borduurt verder op de foute query. Goede foutafhandeling ontbreekt, dus daardoor krijg je een foutmelding van php.
Christiaan de kleine op 24/02/2011 14:34:09:
(...)
SQL injection maakt niet uit, ik ben de enige die gebruikt op mijn eigen laptop
waarom array, dit werkt ook toch?? en ik moet nog meer gegevens ophalen vanuit meerde tabellen.
SQL injection maakt niet uit, ik ben de enige die gebruikt op mijn eigen laptop
waarom array, dit werkt ook toch?? en ik moet nog meer gegevens ophalen vanuit meerde tabellen.
Gebruik een array op regel 17. Better safe than sorry.
Christiaan de kleine op 24/02/2011 14:40:06:
???????, waar?
Een zin maken is te veel moeite?
Christiaan de kleine op 24/02/2011 14:41:17:
waar denk je dat ik de hele tijd al mee bezig ben dan...
reserved words mysql
Christiaan de kleine op 24/02/2011 14:41:17:
waar denk je dat ik de hele tijd al mee bezig ben dan...
http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
Die had ik ook al gevonden via google, maar kan niks vinden wat overeenkomt met mijn script?
Dan moet je toch echt beter gaan kijken. Hint: Het staat tussen de SELECT.
Nou het staat drie keer op die pagina.
Karl Karl op 24/02/2011 14:41:38:
Het borduurt verder op de foute query. Goede foutafhandeling ontbreekt, dus daardoor krijg je een foutmelding van php.
Gebruik een array op regel 17. Better safe than sorry.
Een zin maken is te veel moeite?
reserved words mysql
Jasper Geelen op 24/02/2011 14:28:30:
Zou dat ook de reden zijn met "Call to a member function fetch_array() on a non-object in"?
- SanThe - op 24/02/2011 14:25:31:
Query is mislukt.
Zou dat ook de reden zijn met "Call to a member function fetch_array() on a non-object in"?
Het borduurt verder op de foute query. Goede foutafhandeling ontbreekt, dus daardoor krijg je een foutmelding van php.
Christiaan de kleine op 24/02/2011 14:34:09:
(...)
SQL injection maakt niet uit, ik ben de enige die gebruikt op mijn eigen laptop
waarom array, dit werkt ook toch?? en ik moet nog meer gegevens ophalen vanuit meerde tabellen.
SQL injection maakt niet uit, ik ben de enige die gebruikt op mijn eigen laptop
waarom array, dit werkt ook toch?? en ik moet nog meer gegevens ophalen vanuit meerde tabellen.
Gebruik een array op regel 17. Better safe than sorry.
Christiaan de kleine op 24/02/2011 14:40:06:
???????, waar?
Een zin maken is te veel moeite?
Christiaan de kleine op 24/02/2011 14:41:17:
waar denk je dat ik de hele tijd al mee bezig ben dan...
reserved words mysql
Uit de methode van de array kom ik niet, kan je me een klein beetje op weg helpen misschien daarmee?
Zo nee, dan heeft de while() geen zin.