[php][mysql]

Pagina: 1
Acties:

  • Wokker
  • Registratie: September 2001
  • Laatst online: 16-09 06:17

Wokker

De avond wokkel

Topicstarter
Ik heb de volgende code om
iets in te vullen in een database hellaas werkt dit niet
en he geeft altijd weer dat er iets fout is gegaan hoe komt dat ?? wat doe ik fout ??
Mijn output naar het drukken op submit is "FOUTJE"
Damn kan me onderwerp niet wijzigen :) ben vergeten om een head er boven te zetten
er moet nog achter komen "POST FORMUlIER IN DATABASE"
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?
<HTML>
<HEAD>
<TITLE>Programma invullen</TITLE>
</HEAD>
<BODY>
<?php
if (!IsSet($stage))
{
?>

<P>Vul het gewenst programma in zovoorledig mogelijk</P>
<?php
print("<FORM METHOD=\"POST\" ACTION=\"$php_self\">");
?>

Datum: <INPUT TYPE=TEXT NAME="datum" SIZE=25><BR>
programa:  <INPUT TYPE=TEXT NAME="brogramma" SIZE=25><BR>
Korte beschrijving:  <INPUT TYPE=TEXT NAME="beschrijving " SIZE=25><BR>
Spullen die we moeten menen:  <INPUT TYPE=TEXT NAME="spullen" SIZE=25><BR>
Door: <INPUT TYPE=TEXT NAME="door" SIZE=25><BR>
<input type=HIDDEN Name="stage" Value=1>
<INPUT TYPE=SUBMIT>
</FORM>
<?php
}
Else
{
/* Open connection to the database */
$host= "db.host.sk";
mysql_connect("db.host.sk", "**", "***")
or die("Failure to communicate with database");
mysql_select_db("Programma");

/* Insert values */
$query = "INSERT INTO addressbook (datum, brogramma, beschrijving, spullen, door) VALUES('$datum', '$brogramma', '$beschrijving', '$spullen', '$door')";
$result = mysql_query($query);
if($result == 0)
{
  print("Foutje ");
}
else
{
  print("Alles  staat er nu in. dank je wel ");
}
}
?>
</BODY>
</HTML></BODY>
</HTML>
?>

Het oneindige X 0


  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 00:09
Op Sunday 28 October 2001 19:04 schreef Wokker het volgende:
$host= "db.host.sk";
mysql_connect("db.host.sk", "**", "***")
Niet dat dit de fout is ofzo, maar
en variable opgeven en niet gebruiken...
Hmmm... wel leuk om een pagina langer te laten laden.
gewoon 100.000 variablen erin zetten, zonder ze te gebruiken.
100.000 x de bovenstaande variable = 2.000.000 bytes.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

$result=mysql_query($query);
$rows=mysql_num_rows($result);

if($rows)

zo moet ie

Doet iets met Cloud (MS/IBM)


Verwijderd

misschien moet je is kijken waarom $result geen 0 is, dus doe je ergens ff echo "$result";

  • Wokker
  • Registratie: September 2001
  • Laatst online: 16-09 06:17

Wokker

De avond wokkel

Topicstarter
Op Sunday 28 October 2001 19:16 schreef D2k het volgende:
$result=mysql_query($query);
$rows=mysql_num_rows($result);

if($rows)

zo moet ie
Hum hellaas dit werkt niet :(
wieet weet een beter oplossing ??

Het oneindige X 0


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:37

me1299

$ondertitel

Ik zie de oplossing niet echt, maar een kleine tip omtrend php escaped heb ik wel ;)
PHP:
1
2
3
<?
print("<FORM METHOD=\"POST\" ACTION=\"$php_self\">");
?>

Kan ook zo
PHP:
1
2
3
<?
print("<FORM METHOD='POST' ACTION='$php_self'>'");
?>

Nu is dat niet echt superhandig, maar soms wel dat wel eens wat werk schelen :)

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

echo de query die je uiteindelijk krijg, voer dat eens direct op de database uit en kijk welke foutmelding de database precies terug geeft.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Ten eerste krijg je bij een INSERT nooit een affected rows terug, daarvoor moet je mysql_affected_rows gebruiken.
Ten tweede moet je name=brogramma in programma veranderen, ik zou tevens addslashes gebruiken bij de bd invoer en checken of het resultaat niet false is inplaats van wel nul.

if($result != FALSE)
echo "allles erin";
else
echo "foutje";

Tevens heb je nog de mogelijkheid om de mysql fout terug te krijgen: echo mysql_error();

Succes

Verwijderd

Je voert de query ook helemaal niet uit, je hebt de query wel heel netjes in een variabele gezet, maar doet er vervolgens niks mee. Dus zet gewoon dit in je code:
mysql_query("INSERT INTO tabel (kolom1, kolom2) VALUES ('$waarde1', '$waarde2')");

Dan moet het wel lukken denk ik...
Pagina: 1