Tags:
php
Hej derude.
Kan nogen fortælle mig hvad der er galt med følgene script ?
Jeg får en error der siger: Warning: 0 is not a MySQL result index in /work/www/db/checkbox.php on line 29
Jeg skal måske nævne at jeg køre RedHat 7.3, MySQL 3.23.49 og PHP 3.0.18
checkbox.php:
<?
$db=mysql_connect("server","user","pass");
mysql_select_db("database",$db);
if(isset($_POST['submit'])){ //Only insert when a form is submitted
//Default value "No"
$checkbox1 = (isset($_POST['checkbox1']))? $_POST['checkbox1'] : "No";
mysql_query("INSERT INTO tabel (Navn, checkbox1) VALUES ('$Navn','$checkbox1')");
header("Location: $_SERVER[PHP_SELF]"); //Reload to prevent insert with page-reload
}
?>
<HTML>
<HEAD><TITLE>checkbox.php</title></head>
<BODY>
<CENTER>
<FORM METHOD=POST ACTION=<? echo $PHP_SELF;?>>
Navn:<INPUT TYPE=text NAME=Navn>
<INPUT TYPE=submit name="submit" VALUE="Submit">
<input type="checkbox" name="checkbox1" value="Yes">
</FORM>
<TABLE>
<?
$foresp = mysql_query("SELECT Navn, checkbox1 FROM tabel");
while ($Data = mysql_fetch_array($foresp)){
echo "<TR><TD VALIGN=TOP>";
echo "$Data[Navn]</A></TD>";
echo "<TD>$Data[checkbox1]</TD></TR>";
}
?>
</TABLE>
</CENTER>
</BODY>
</HTML>[Redigeret d. 05/03-03 09:41:08 af Svend]
4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Et umiddelbart gæt:
$Data[Navn] skal være $Data['Navn'] .. ellers bruges muligvis en var som ikke er til eller simpelt hen bare tallet 0 fordi PHP ikke ved hvad Navn skal være. (skulle det være en var skulle det vel være $Navn .. men vil du have resultata data for kolonnen "Navn" skal du bruge "Navn" eller 'Navn'.
Siden du har det hele i en echo linie er det vel nemmere at bruge 'Navn'.
0
Linie 29 siger :
while ($Data = mysql_fetch_array($foresp)){
Så jeg kan forestille mig at jeg gør noget forkert f.eks. med mysql_fetch_array
At ændre $Data[navn] til $Data['navn'] giver bare en fejl mere :-(
Svend
0
Ok.
Noget andet at udelukke:
1)
Skriver du tabel og felt navne helt som de rent faktisk er i din database?
Fx er Navn ikke det samme som navn og TaBeL ikke det samme som tabel.
2)
Har du data i tabellen?
3)
Har du prövet dit query direkte imod databasen?
0
Okay, nyt problem :-/
Jeg fandt ud af min MySQL ikke kunne lide at en tabel hedder table, så jeg omdøbte den til Indhold, og nu kan jeg trække data ud af den. (0g uden fejl i linie 29)
Så lang så godt.
Nu sættes der bare desværre ikke noget IND i databasen når jeg submit'er :-(
Any Idea ?
Svend