PDA

Volledige versie bekijken : [PHP-ÜBERNOOB] Error op lijn 13


tijmen_4real
%Europe/Berlin %805 %2009, 19:20
Hoi !

Deze PHP-noob is begonnen in 'PHP en MySQL voor Dummies'.
Nu moet ik de verbinding met mijn database testen:

<html>
<head><title>De verbinding met mijn MySQL database testen</title></head>
<body>
<!-- mysql_up.php -->
<?php
$host="localhost";
$user="******";
$password="******";
mysql_connect($host,$user,$password);
$sql="show status";
$result=" mysql_query($sql);
if ($result ==0)
echo "<b>Error " . mysql_errno() . "; " . mysql_error() . "</b>";
else
{
?>
<!-- Tabel met de resultaten -->
<table border="1">
<tr><td><b>Variable_name</b></td><td><b>Value</b></td</tr>
<?php
for ($i = 0; $i < mysql_num_rows($result); $i++) {
echo "<TR>";
$row_array = mysql_fetch_row($result);
for ($j = 0 Sj < mysql_num_fields($result); $j++){
echo "<TD>" . $row_array($j) . "</td";
}
echo "</tr>";
}
?>
</table>
<?php } ?>
</body>
</html>
Bij deze code geeft hij gelijk een error voor lijn 13:

Parse error: syntax error, unexpected '>' in /customers/soldaatmuis.com/soldaatmuis.com/httpd.www/phpmysql/mysql_up.php on line 13 Nu zal er wel een supersimpele oplossing hiervoor zijn, maar ik zie hem niet. Ben ik ergens een { of } vergeten?

Ik heb het zo uit het boek overgenomen. De versie die je kan downloaden is sowieso anders qua code, dus daar kan ik mijn fout niet in vinden.

Wie wil er mij uitleggen wat er verkeerd is?
Greetz,

tijmen_4real 8D

Dauntless
%Europe/Berlin %813 %2009, 19:31
Zoals je aan de mooie colorhighlighting van het forum kan zien, heb je een " die fout staat. (Bij $result = ...)

moonwalker
%Europe/Berlin %814 %2009, 19:32
Je vergeet een bracelet (noemen ze het zo?) te openen na de IF condition op lijn 13:

if ($result ==0) {...

Edit:
En natuurlijk heeft Dauntless gelijk. ;)

Dauntless
%Europe/Berlin %815 %2009, 19:34
@Moonwalker: Als er maar 1 expressie volgt, zijn er geen {} nodig.

tijmen_4real
%Europe/Berlin %816 %2009, 19:35
Idd, op lijn 11 stond er een " die niet nodig is.
Is de bracelet voor de if-statement ook nodig ?
Bedankt!

tijmen_4real
%Europe/Berlin %817 %2009, 19:36
Ene error weg, tweede erbij:

Parse error: syntax error, unexpected T_STRING, expecting ';' in /customers/soldaatmuis.com/soldaatmuis.com/httpd.www/phpmysql/mysql_up.php on line 25 Wat is dit nu weer?

tijmen_4real
%Europe/Berlin %817 %2009, 19:37
Gevonden, was een ; vergeten....

Dauntless
%Europe/Berlin %818 %2009, 19:38
<html>
<head><title>De verbinding met mijn MySQL database testen</title></head>
<body>
<!-- mysql_up.php -->
<?php
$host="localhost";
$user="******";
$password="******";
mysql_connect($host,$user,$password);
$sql="show status";
$result= mysql_query($sql);
if ($result ==0)
echo "<b>Error " . mysql_errno() . "; " . mysql_error() . "</b>";
else
{
?>
<!-- Tabel met de resultaten -->
<table border="1">
<tr><td><b>Variable_name</b></td><td><b>Value</b></td</tr>
<?php
for ($i = 0; $i < mysql_num_rows($result); $i++) {
echo "<TR>";
$row_array = mysql_fetch_row($result);
for ($j = 0 Sj < mysql_num_fields($result); $j++){
echo "<TD>" . $row_array($j) . "</td";
}
echo "</tr>";
}
?>
</table>
<?php } ?>
</body>
</html>

In de for lus een ; vergeten:
for ($j = 0 Sj < mysql_num_fields($result); $j++){
Altijd eerst zelf even kijken ipv meteen te posten he ;).

moonwalker
%Europe/Berlin %819 %2009, 19:39
@Moonwalker: Als er maar 1 expressie volgt, zijn er geen {} nodig.

Thx...Ik gebruik ze automatisch altijd, moeilijk om het af te leren...

tijmen_4real
%Europe/Berlin %819 %2009, 19:40
Fatal error: Function name must be a string in /customers/soldaatmuis.com/soldaatmuis.com/httpd.www/phpmysql/mysql_up.php on line 26PHP ziet er nu zo uit:

<html>
<head><title>De verbinding met mijn MySQL database testen</title></head>
<body>
<!-- mysql_up.php -->
<?php
$host="localhost";
$user="******";
$password="******";
mysql_connect($host,$user,$password);
$sql="show status";
$result= mysql_query($sql);
if ($result == 0)
echo "<b>Error " . mysql_errno() . "; "
. mysql_error() . "</b>";
else
{
?>
<!-- Tabel met de resultaten -->
<table border="1">
<tr><td><b>Variable_name</b></td><td><b>Value</b></td></tr>
<?php
for ($i = 0; $i < mysql_num_rows($result); $i++) {
echo "<TR>";
$row_array = mysql_fetch_row($result);
for ($j = 0; Sj < mysql_num_fields($result); $j++){
echo "<TD>" . $row_array($j) . "</td";
}
echo "</tr>";
}
?>
</table>
<?php } ?>
</body>
</html>


Wat is er dan niet goed aan line 26?
Bedankt tot dusver namens deze noobster!! :D

Dauntless
%Europe/Berlin %820 %2009, 19:42
$row_array($j) => $row_array[$j]

Nogmaals: Je kijkt zelf toch ook wel even vooraleer meteen de volgende fout te posten, hoop ik ?

tijmen_4real
%Europe/Berlin %822 %2009, 19:44
Ja, excuses Dauntless... ;)
Ik was misschien te snel met de vraag.....
Thanks :D

EDIT: Hoe kan het zijn dat mijn computer nu helemaal flipt op dit script ? :S (2GB geheugen in gebruik voor FireFox)

tijmen_4real
%Europe/Berlin %830 %2009, 19:56
Nu weet ik dus waarom ie flipt. Hij maakt een oneindige tabelrij naar rechts. Dat terwijl er in het voorbeeld niet wordt gesproken over bepaalde afmetingen. Echt slecht voor zo'n boek....

023-jimmy
%Europe/Berlin %843 %2009, 20:14
Waarom open je met <TR> en <TD> (Hoofdletters) en sluit je met </tr> en </td> (Kleine letters)?

En je sluit je fields ook niet goed af:


"</td";

>


"</td>";

tijmen_4real
%Europe/Berlin %427 %2009, 10:15
Ja, da's idd slordig, maar hoe kan het nou dat ik met zo'n oneindige tabel kom te zitten?

renegeuze
%Europe/Berlin %441 %2009, 10:35
Ik kijk heel even(en niet eens serieus naar wat het zou moeten doen) en zie bijvoorbeeld al: Sj < mysql_num_fields($result)
Sj? hoe krijg je het voor elkaar. Net als het afsluiten van tags etc. kijk je gewoon niet goed naar je eigen code. Maak het eerst eens netjes en loop het zelf goed na en je zal zien dat het makkelijker wordt.

btw, {} zijn curly brackets. Bracelet is een armband. Braces mag wel maar curly bracket vind ik duidelijker en kan ook geen verwarring geven met een beugel ;)

tijmen_4real
%Europe/Berlin %485 %2009, 11:39
Dank je wel! :D