zoeken in database
Code (php)
<form action="" method="post"
<table>
<tr><td>Naam :</td><td><input type="text" name="naam"></td></tr>
<tr><td><input type="submit" name="invoeren" value="Gegevens invoeren"></td></tr>
</table>
</form>
als ik een naam invoer reageerd het formulier
maar hij plaats de naam niet hij maakt een nieuw
id aan op de server
ik bedoel natuurlijk dat ik de server heb aangepast het script is van jullie ondersteuning.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
$sql_statement = "select naam from adres";
$resultset = mysql_query($sql_statement);
$count_rows = ($resultset);
echo "aantal:" . $count_rows;
?>
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
$sql_statement = "select naam from adres";
$resultset = mysql_query($sql_statement);
$count_rows = ($resultset);
echo "aantal:" . $count_rows;
?>
je query moet altijd de error geven.
zet anders bovenaan je script dit:
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
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
<?php
function query($query, $die = true) {
$sql = mysql_query($query);
if (!$sql) {
$query = htmlentities($query); //voor de zekerheid
$err = mysql_error();
$out = <<<ERR
Er is een error in de volgende query onstaan:<br />
<span style="color:red">{$query}</span><br /><br />
Mysql gaf de volgende fout terug(aardig hé):
{$err}<br /><br />
ERR;
if ($die) {
$out .= <<<ERR
Script beindigd, contacteer admin<br /><br />
ERR;
die($out);
} else {
$out .= <<<ERR
Script gefaald in opdracht, genegeerd. Script gaat door <br /><br />
ERR;
echo $out;
return false;
}
}
//blijkbaar is alles goed gegaan
return $sql;
}
?>
function query($query, $die = true) {
$sql = mysql_query($query);
if (!$sql) {
$query = htmlentities($query); //voor de zekerheid
$err = mysql_error();
$out = <<<ERR
Er is een error in de volgende query onstaan:<br />
<span style="color:red">{$query}</span><br /><br />
Mysql gaf de volgende fout terug(aardig hé):
{$err}<br /><br />
ERR;
if ($die) {
$out .= <<<ERR
Script beindigd, contacteer admin<br /><br />
ERR;
die($out);
} else {
$out .= <<<ERR
Script gefaald in opdracht, genegeerd. Script gaat door <br /><br />
ERR;
echo $out;
return false;
}
}
//blijkbaar is alles goed gegaan
return $sql;
}
?>
Dan kan je in plaats van mysql_query, gewoon deze query() functie gebruiken. Als het niet lukt, weet je gelijk het probleem ;)
Maar okee, we gaan gewoon verder.
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
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
$sql_statement = "SELECT naam FROM adres"; // Hier komt meestal nog WHERE iets = zoekiets achter.
$resultset = mysql_query($sql_statement);
// mysql_num_rows() geeft het aantal rijen in een
// resultaat set terug. Dit commando is alleen geldig
// voor SELECT queries. Om het aantal rijen op te
// halen dat werd betrokken bij een INSERT, UPDATE
// of DELETE query, gebruik mysql_affected_rows().
$count_rows = mysql_num_rows($resultset);
echo "aantal:" . $count_rows;
?>
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
$sql_statement = "SELECT naam FROM adres"; // Hier komt meestal nog WHERE iets = zoekiets achter.
$resultset = mysql_query($sql_statement);
// mysql_num_rows() geeft het aantal rijen in een
// resultaat set terug. Dit commando is alleen geldig
// voor SELECT queries. Om het aantal rijen op te
// halen dat werd betrokken bij een INSERT, UPDATE
// of DELETE query, gebruik mysql_affected_rows().
$count_rows = mysql_num_rows($resultset);
echo "aantal:" . $count_rows;
?>
@Sebastiaan: Dat stukje van jou lijkt mij nog erg ingewikkeld voor een nieuweling. ;-)
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
include("header.html");
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
if(isset($_POST['invoeren'])) {
$naam=$_POST['naam'];
$adres=$_POST['adres'];
$plaats=$_POST['plaats'];
$sql="INSERT into lijst (naam, adres, plaats) VALUES ('$naam','$adres','$plaats')";
mysql_query($sql) or die("Query kan niet uitgevoerd worden. MySQL retouneerde devolgende error: ".mysql_error());
}
else
{
?>
include("header.html");
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
if(isset($_POST['invoeren'])) {
$naam=$_POST['naam'];
$adres=$_POST['adres'];
$plaats=$_POST['plaats'];
$sql="INSERT into lijst (naam, adres, plaats) VALUES ('$naam','$adres','$plaats')";
mysql_query($sql) or die("Query kan niet uitgevoerd worden. MySQL retouneerde devolgende error: ".mysql_error());
}
else
{
?>
<form action="" method="post"
<table>
<tr><td>Naam :</td><td><input type="text" name="naam"></td><br>
<tr><td>Adres :</td><td><input type="text" name="adres"></td><br>
<tr><td>Plaats :</td><td><input type="text" name="plaats"></td><br>
<tr><td><input type="submit" name="invoeren" value="Gegevens invoeren"></td></tr>
</table>
</form>
maar dat werkt echt niet.Kunnen jullie de fout
vinden
Dit is het script:
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
include("header.html");
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
$rientsma = 'plaats';
$sql = "SELECT adres, plaats FROM lijst WHERE 'plaats' = $rientsma";
while( $data = mysql_fetch_array($result))
{
echo $data['adres'] . " " . $data['plaats'];
echo "<br>";
}
mysql_query($sql) or die("Query kan niet uitgevoerd worden. MySQL retouneerde devolgende error: ".mysql_error());
?>
include("header.html");
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
$rientsma = 'plaats';
$sql = "SELECT adres, plaats FROM lijst WHERE 'plaats' = $rientsma";
while( $data = mysql_fetch_array($result))
{
echo $data['adres'] . " " . $data['plaats'];
echo "<br>";
}
mysql_query($sql) or die("Query kan niet uitgevoerd worden. MySQL retouneerde devolgende error: ".mysql_error());
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$rientsma = 'plaats';
$sql = "SELECT adres, plaats FROM lijst WHERE plaats = '" . $rientsma . "'";
// Hier de query uitvoeren en in $result stoppen
$result=mysql_query($sql) or die("Query kan niet uitgevoerd worden. MySQL retouneerde de volgende error: ".mysql_error());
while( $data = mysql_fetch_array($result))
{
echo $data['adres'] . " " . $data['plaats'];
echo "<br>";
}
?>
$rientsma = 'plaats';
$sql = "SELECT adres, plaats FROM lijst WHERE plaats = '" . $rientsma . "'";
// Hier de query uitvoeren en in $result stoppen
$result=mysql_query($sql) or die("Query kan niet uitgevoerd worden. MySQL retouneerde de volgende error: ".mysql_error());
while( $data = mysql_fetch_array($result))
{
echo $data['adres'] . " " . $data['plaats'];
echo "<br>";
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
include("header.html");
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
$rientsma = 'plaats';
$sql = "SELECT adres, plaats FROM lijst WHERE plaats = '" . $rientsma . "'";
// Hier de query uitvoeren en in $result stoppen
$result=mysql_query($sql) or die("Query kan niet uitgevoerd worden. MySQL retouneerde de volgende error: ".mysql_error());
while( $data = mysql_fetch_array($result))
{
echo $data['adres'] . " " . $data['plaats'];
echo "<br>";
}
?>
include("header.html");
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
$rientsma = 'plaats';
$sql = "SELECT adres, plaats FROM lijst WHERE plaats = '" . $rientsma . "'";
// Hier de query uitvoeren en in $result stoppen
$result=mysql_query($sql) or die("Query kan niet uitgevoerd worden. MySQL retouneerde de volgende error: ".mysql_error());
while( $data = mysql_fetch_array($result))
{
echo $data['adres'] . " " . $data['plaats'];
echo "<br>";
}
?>
- Geeft het uitvoeren van de query een fout? (zie regel: $result = mysql_...)
- Weet je zeker dat de verbinding met de DB goed is?
- Weet je zeker dat er rijen in de tabel staan die aan je query voldoen?
Elwin
[Edit: Typo]
Gewijzigd op 20/11/2005 11:50:00 door Elwin - Fratsloos
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
include("header.html");
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
$sql = "SELECT adres, plaats, naam FROM lijst";
$result = mysql_query($sql);
while( $data = mysql_fetch_array($result))
{
echo $data['adres'] . " <br>" . $data['plaats'] . "<br>" . $data['naam'];
echo "<br><br>";
}
mysql_query($sql) or die("Query kan niet uitgevoerd worden. MySQL retouneerde devolgende error: ".mysql_error());
?>
include("header.html");
$server = "localhost";
$user = "root";
$database = "adres";
Mysql_connect ($server, $user);
mysql_select_db($database);
$sql = "SELECT adres, plaats, naam FROM lijst";
$result = mysql_query($sql);
while( $data = mysql_fetch_array($result))
{
echo $data['adres'] . " <br>" . $data['plaats'] . "<br>" . $data['naam'];
echo "<br><br>";
}
mysql_query($sql) or die("Query kan niet uitgevoerd worden. MySQL retouneerde devolgende error: ".mysql_error());
?>
dan krijg je alle records. Als je er maar ééntje wilt, moet je een WHERE clausule inbouwen, bijv:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?
$sql = "
SELECT adres, plaats, naam
FROM lijst
WHERE adres = 'hier iets invullen'
";
?>
$sql = "
SELECT adres, plaats, naam
FROM lijst
WHERE adres = 'hier iets invullen'
";
?>
adres is hier willekeurig gekozen als voorwaarde. Je kunt elke voorwaarde verzinnen. Meestal wordt het id gebruikt.