Kan De Fout Niet Vinden!

Status
Niet open voor verdere reacties.

iCreate

Gebruiker
Lid geworden
11 jun 2012
Berichten
18
Hi,

ik ben dus bezig geweest met W3 Schools om een Mysql script te maken.
Ik krijg geen fout melding van Mysql maar het doet het nog niet.

De bedoeling is dit: Simpel via een PHP form Mysql kunnen toevoegen.
Alleen dat wil nog niet helemaal lukken.

Dit zijn mij codes:

PHP:
<html>
<head>
<title>Update Database</title>
</head>
<body>
<form method="post" action="update.php">

ID: </br>
<input type="text" name="id" size="30" /> </br>

Text:</br>
<input type="text" name="text" size="30" /></br>
<input type="sumbit" value="Change" />

</form>
</body>
</html>

En...
PHP:
<?php
$id = $_POST['id'];
$text = $_POST['text'];

mysql_connect ("localhost", "database_user", "password") or die ('Error: ' .mysql_error());
mysql_select_db ("database_name");

$query="INSERT INTO TestTable (id, text) VALUES ('NULL','".$id."', '".$text."')";

echo "Database *** " .$id. " ".$text ;

?>

Graag de fouten die je ontdekt doorgeven ;)


Mvg, koen
 
2 dingen:

1. Je wilt 3 waardes ('NULL','".$id."', '".$text."') in de database zetten, maar je gebruikt maar 2 velden (id, text) waar ze heen moeten. Dat gaat al niet werken.
2. Je moet de query nog wel uitvoeren, dus: mysql_query($query);
 
Kijk nu gaat het de goede kant op!
Ik heb nog een stukje aan je code toegevoegd. Dit controleert of het invoeren goed gelukt is. Zo niet, dan geeft hij aan wat er fout is! (met omschrijving van de fout, en waar het zich ongeveer moet bevinden)

PHP:
<?php
$id = $_POST['id'];
$text = $_POST['text'];
 
mysql_connect ("localhost", "database_user", "password") or die ('Error: ' .mysql_error());
mysql_select_db ("database_name");
 
$query="INSERT INTO TestTable (id, text) VALUES ('NULL','".$id."', '".$text."')";
 
$result=mysql_query($query);

if (!$result)
  {
  die('Query error:<br/> ' . mysql_error());
  }

echo "Database *** " .$id. " ".$text ;
 
?>

Verder valt mij dit op:
(id, text)
('NULL','".$id."', '".$text."')

Je geeft 2 columns op, en 3 waardes. Dat gaat nooit passen.
Maak daarvan:
VALUES ('".$id."', '".$text."')";

Kijk eerst eens wat er gebeurt als je het 1ste stukje code van mij gebruikt. Want dan krijg je misschien wel de foutmelding die behoort bij mijn 2de stukje. Dan weet je gelijk hoe die foutmeldingen een beetje werken...
 
Laatst bewerkt:
wat je ook nog kunt doen is een con.php aan maken met daarin dus:

PHP:
$con = mysql_connect ("localhost", "database_user", "password") or die ('Error: ' .mysql_error());
 mysql_select_db ("database_name",$con);

if (!$con)
{
die('Kon geen verbinding maken met sql of je database, check je dbgegevens of je verbinding: ' . mysql_error());
}

?>

Dan kun je de bovenstaande code dus uit je update.php verwijderen.

vervolgens zet je in je update.php het volgende:

PHP:
include 'con.php';

Dan weet je dat je connectie vrijwel altijd goed is en kan je je gelijk focussen op je query zodat de kans op fouten kleiner is ;)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan