Hi,

Als complete php nerd ben ik op zoek naar hetvolgende scriptje;

De laatste tijd wordt ik gek van alle adressen, email adressen urls en telefoonnummers. Ik ben zover dat ik nu een database heb bij mijn provider en een (echt beginners) script om data aan deze database toe te kunnen voegen. Ik kan dus overal waar ik ben, bij mijn adressen. Probleem is dat ik altijd ALLE adressen moet opvragen terwijl ik gewoon iemand op naam op wil zoeken. Bestaat dit? Heb je nog meer informatie nodig? Volgens iedereen is het allemaal zo eenvoudig.. Voor mij is het zó eenvoudig, dat ik er compleet simpel van wordt... Maar ja, je wilt wel eens wat!

Groetjes, en wie er mocht reageren, in ieder geval vast bedankt.
$sql =mysql_query "select * from test where ((Achternaam LIKE (%'$Achternaam'%))"; //Hier geeftie de fout aan.

((( haken tegen )) twee haken. => Geeft error.

Maar volgens mij hoort ie zo:

$sql =mysql_query "select * from test where Achternaam LIKE '%$Achternaam%'";

met de % tussen de ' ' in.
En zo heb ik je hem gemaild

//kijken of er op de knop is gedrukt
if (isset ($_POST['submit'])){
$achternaam = $_POST['achternaam'];

$sql = "SELECT *
FROM test WHERE achternaam LIKE '%$Achternaam%'";
$res = mysql_query ($sql) or die (mysql_error ());
}
reactie op het bericht van han:
Eerlijk gezegd en gezwegen, geen flauw idee! Echte newbie, weet je nog ;-))
reactie op het bericht van Lazy:

helaas, ook nu krijg ik nog steeds een error:
Parse error: parse error, unexpected '\"' in /www/SafeFolder/php hulp klaasjan - origineel.php on line 15. In mijn ogen dezelfde. Maar volgens mij worden ze steeds slechter met al die ' " '" \ en /. Als 't scrippie eind december nog niet werkt, zit ik beslist bij hans anders :-). Tuur
Ja, misschien moet ik ook wel een brilletje...

$sql =mysql_query "select * from test where Achternaam LIKE '%$Achternaam%'";

Daar moeten natuurlijk () omheen.

$sql =mysql_query("select * from test where Achternaam LIKE '%$Achternaam%'");
Hi allemaal, !AANVULLING, HET SYSTEEM HEEFT ER WEER ALLEMAAL VAN DIE GROENE \ TUSSENGEZET! Die staan dus niet meer in mijn scripts. Et mailen?

Kan af en toe de berichtgeving niet snel genoeg meer opvolgen en ga hierdoor de fout in en zit vervolgen in de verkeerde file te werken. Ben vanmorgen weer opnieuw begonnen met het script dat klaasjan me gemailed had. Ik had (sorry) niet goed opgelet...

Klaasjan, je had me het volgende script gemailed:

[php]
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">;
<html>
<head>
<title>test zoeken op naam php-hulp - klaasjan</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>

<body>
<form method=\"post\" action=\"<?php echo $_SERVER[\'PHP_SELF\']; ?>\">
<p><label for=\"naam\">Achternaam: </label><input id=\"Achternaam\" name=\"Achternaam\" type=\"text\"></p>
<p><input type=\"submit\" name=\"submit\" value=\"zoeken\">
</form>

<?php
include (\"connect.php\");

$db = mysql_connect(\"$host\", \"$dbusername\", \"$password\") or mysql_die(\"Unable to connect\");
mysql_select_db(\"tuurtje\",$db); // maak verbinding met je database //Bevat de gegevens om te connecteren naar Server en Database

//kijken of er op de knop is gedrukt
if (isset ($_POST[\'submit\'])){
$achternaam = $_POST[\'achternaam\'];

$sql = \"SELECT * FROM test WHERE achternaam LIKE \'%$Achternaam%\'\";
$res = mysql_query ($sql) or die (mysql_error ());
}
?>
<?
// ARRay uitlezen
while($row = mysql_fetch_array($res)) {
echo \"<strong>ID</strong>: \" . $row[\"ID\"] . \"<br>\";
echo \'\', \"<br>\";
echo \"<strong>Voornaam</strong>: \" . $row[\"Voornaam\"] . \"<br>\";
echo \'\', \"<br>\";
echo \"<strong>Achternaam</strong>: \" . $row[\"Achternaam\"] . \"<br>\";
echo \'\', \"<br>\";
echo \"<strong>Straat</strong>: \" . $row[\"Straat\"] . \"<br>\";
echo \'\', \"<br>\";
echo \"<strong>Nummer</strong>: \" . $row[\"Huisnummer\"] . \"<br>\";
echo \'\', \"<br>\";
echo \"<strong>Woonplaats</strong>: \" . $row[\"Plaats\"] . \"<br>\";
echo \'\', \"<br>\";
echo \"<strong>Telefoon</strong>: \" . $row[\"Telefoonnummer\"] . \"<br>\";
echo \'\', \"<br>\";
echo \"<strong>Mobiel</strong>: \" . $row[\"Mobiel\"] . \"<br>\";
echo \'\', \"<br>\";
echo \'\', \"<br>\";



}
?>
[/php]

In de email had je ook de volgende code gezet:
[php]
ID: \" . $row[\"ID\"] . \"
\"; echo \'\', \"
\"; echo \"Voornaam: \" . $row[\"Voornaam\"] . \"
\"; echo \'\', \"
\"; echo \"Achternaam: \" . $row[\"Achternaam\"] . \"
\"; echo \'\', \"
\"; echo \"Straat: \" . $row[\"Straat\"] . \"
\"; echo \'\', \"
\"; echo \"Nummer: \" . $row[\"Huisnummer\"] . \"
\"; echo \'\', \"
\"; echo \"Woonplaats: \" . $row[\"Plaats\"] . \"
\"; echo \'\', \"
\"; echo \"Telefoon: \" . $row[\"Telefoonnummer\"] . \"
\"; echo \'\', \"
\"; echo \"Mobiel: \" . $row[\"Mobiel\"] . \"
\"; echo \'\', \"
\"; echo \'\', \"
\"; } ?>
[/php]

de code is dan nu geworden:
[php]
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">;
<html>
<head>
<title>test zoeken op naam php-hulp - klaasjan</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>

<body>
<form method=\"post\" action=\"<?php echo $_SERVER[\'PHP_SELF\']; ?>\">
<p><label for=\"naam\">Achternaam: </label><input id=\"Achternaam\" name=\"Achternaam\" type=\"text\"></p>
<p><input type=\"submit\" name=\"submit\" value=\"zoeken\">
</form>

<?php
include (\"connect.php\");

$db = mysql_connect(\"$host\", \"$dbusername\", \"$password\") or mysql_die(\"Unable to connect\");
mysql_select_db(\"tuurtje\",$db); // maak verbinding met je database //Bevat de gegevens om te connecteren naar Server en Database

//kijken of er op de knop is gedrukt
if (isset ($_POST[\'submit\'])){
$achternaam = $_POST[\'achternaam\'];

$sql = \"SELECT * FROM test WHERE achternaam LIKE \'%$Achternaam%\'\";
$res = mysql_query ($sql) or die (mysql_error ());
}
?>
<?
// ARRay uitlezen
while($row = mysql_fetch_array($res)) {
echo \"ID: \" . $row[\"ID\"] . \"
\"; echo \'\', \"
\"; echo \"Voornaam: \" . $row[\"Voornaam\"] . \"
\"; echo \'\', \"
\"; echo \"Achternaam: \" . $row[\"Achternaam\"] . \"
\"; echo \'\', \"
\"; echo \"Straat: \" . $row[\"Straat\"] . \"
\"; echo \'\', \"
\"; echo \"Nummer: \" . $row[\"Huisnummer\"] . \"
\"; echo \'\', \"
\"; echo \"Woonplaats: \" . $row[\"Plaats\"] . \"
\"; echo \'\', \"
\"; echo \"Telefoon: \" . $row[\"Telefoonnummer\"] . \"
\"; echo \'\', \"
\"; echo \"Mobiel: \" . $row[\"Mobiel\"] . \"
\"; echo \'\', \"
\"; echo \'\', \"
\";
} ?>

</body>
</html>
[/php]

Als ik deze nu uitvoer en opsla, komt er (weer) een error:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/SafeFolder/Tuur.php on line 30

Als ik (eigenwijs als ik ben) vervolgens toch op zoek druk, krijg ik alle(!) gegevens uit de database, echter niet meer netjes onder elkaar, maar als een lange regel te zien. Het laatste zal waarschijnlijk te maken hebben met het ontbreken van <br> \'s? Maar waar ik die ook invoer en met \' of met \", het wil maar niet lukken. Hopelijk verkopen ze ook vierkante brillen, mijn ogen zijn het onderhand zowat!
Hoop dat je nog een tipje van deze steeds donker wordende sluier kunt oplichten.. Tuur
Als ik zo even snel door het script kijk dan zie ik dat je op diverse plaatsen dezelfde doch toch verschillende vars gebruikt.

$Var is NIET hetzelfde als $var
(Hoofdletters/Kleine letters)

Edit: Bijvoorbeeld hier:
$achternaam = $_POST['achternaam'];

Terwijl in het <form> is het met Hoofdletter

$sql = "SELECT * FROM test WHERE achternaam LIKE '%$Achternaam%'";

En hier heb je op de regel ervoor een kleine letter gebruikt terwijl je er nu weer een Hoofdletter van maakt.

Verderop gebruik je $row['Achternaam'] en dat is weer een hoofdletter terwijl volgens de select hierboven het juist een kleine letter is.

Snap je, je hebt nog een hoop te controleren.
Ok, zag er eentje bij 'achternaam'. Maar veroorzaakt die dan de foutmelding over een invalid sql?

achternaam gewijzigd in Achternaam ->geeb effect. Nog steeds dezelfde foutmelding.
Lees mijn Edit in de vorige post eens door.
Geen flauw idee. De slashes staan niet in mijn script, maar worden op de eea manier automatisch gegenereerd door het forum-script. Als wilt kan ik het mailen. Heb je 'm zonder de irritante shashes.

Reageren