Beste PHP-ers,

Het was alweer een tijde geleden dat ik me met PHP had bezig gehouden maar nu wil ik weer eens iets proberen. probleem: het werkt niet. Met de volgende code wordt wel de databasenaam aangemaakt maar niet de table. Wie weet wat er hier mis gaat?

Groet en dank,
Frank


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<?

$db="CREATE DATABASE enquête";

$tabel="CREATE TABLE enquête(";

$tabel.="id int(4) NOT NULL auto_increment,";
$tabel.="ip varchar(20)NOT NULL,";
$tabel.="datum datetime NOT NULL,";
$tabel.="vraag1 varchar(250) NOT NULL,";
$tabel.="vraag2 varchar(250) NOT NULL,";
$tabel.="vraag3 varchar(250) NOT NULL,";
$tabel.="vraag4 varchar(250) NOT NULL,";
$tabel.="vraag5 varchar(250) NOT NULL,";
$tabel.="vraag6 varchar(250) NOT NULL,";
$tabel.="vraag7 varchar(250) NOT NULL,";
$tabel.="vraag8 varchar(250) NOT NULL,";
$tabel.="vraag9 varchar(250) NOT NULL,";
$tabel.="vraag10 varchar(250) NOT NULL,";
$tabel.="vraag11 varchar(250) NOT NULL,";
$tabel.="vraag12 varchar(250) NOT NULL,";
$tabel.="vraag13 varchar(250) NOT NULL,";
$tabel.="vraag14 varchar(250) NOT NULL,";
$tabel.="vraag15 varchar(250) NOT NULL,";
$tabel.="vraag16 varchar(250) NOT NULL,";
$tabel.="vraag17 varchar(250) NOT NULL,";
$tabel.="vraag18 varchar(250) NOT NULL,";
$tabel.="vraag19 varchar(250) NOT NULL,";
$tabel.="vraag20 varchar(250) NOT NULL,";
$tabel.="vraag21 varchar(250) NOT NULL,";
$tabel.="vraag22 varchar(250) NOT NULL,";
$tabel.="vraag23 varchar(250) NOT NULL,";
$tabel.="vraag24 varchar(250) NOT NULL,";
$tabel.="vraag25 varchar(250) NOT NULL,";
$tabel.="vraag26 varchar(250) NOT NULL,";
$tabel.="vraag27 varchar(250) NOT NULL,";
$tabel.="vraag28 varchar(250) NOT NULL,";
$tabel.="vraag29 varchar(250) NOT NULL,";
$tabel.="vraag30 varchar(250) NOT NULL,";
$tabel.="vraag318 varchar(250) NOT NULL,";
$tabel.="vraag29 varchar(250) NOT NULL,";
$tabel.="vraag30 varchar(250) NOT NULL,";
$tabel.="PRIMARY KEY(id))";


$connection=mysql_connect("localhost","root","");
mysql_query($db,$connection);
mysql_query($tabel,$connection);

mysql_select_db("enquête", $connection);


?>


</body>
</html>

Doe eens


<?php

echo mysql_error();

?>

na de query's
Je laat hem veld vraag29 en vraag 30 twee keer aanmaken met de zelfde naam en dat gaat niet
<?php
$tabel.="vraag28 varchar(250) NOT NULL,";
$tabel.="vraag29 varchar(250) NOT NULL,";
$tabel.="vraag30 varchar(250) NOT NULL,";
$tabel.="vraag318 varchar(250) NOT NULL,";
$tabel.="vraag29 varchar(250) NOT NULL,";
$tabel.="vraag30 varchar(250) NOT NULL,";
?>
En probeer een enquete zonder ^
Bedankt voor jullie reactie!! Heb de correcties uitgevoerd, hij geeft geen foutmelding maar toch werkt hij nog niet. De code is nu als volgt:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<?

$db="CREATE DATABASE enquete";

$tabel="CREATE TABLE enquete(";

$tabel.="id int(4) NOT NULL auto_increment,";
$tabel.="ip varchar(20)NOT NULL,";
$tabel.="datum datetime NOT NULL,";
$tabel.="vraag1 varchar(250) NOT NULL,";
$tabel.="vraag2 varchar(250) NOT NULL,";
$tabel.="vraag3 varchar(250) NOT NULL,";
$tabel.="vraag4 varchar(250) NOT NULL,";
$tabel.="vraag5 varchar(250) NOT NULL,";
$tabel.="vraag6 varchar(250) NOT NULL,";
$tabel.="vraag7 varchar(250) NOT NULL,";
$tabel.="vraag8 varchar(250) NOT NULL,";
$tabel.="vraag9 varchar(250) NOT NULL,";
$tabel.="vraag10 varchar(250) NOT NULL,";
$tabel.="vraag11 varchar(250) NOT NULL,";
$tabel.="vraag12 varchar(250) NOT NULL,";
$tabel.="vraag13 varchar(250) NOT NULL,";
$tabel.="vraag14 varchar(250) NOT NULL,";
$tabel.="vraag15 varchar(250) NOT NULL,";
$tabel.="vraag16 varchar(250) NOT NULL,";
$tabel.="vraag17 varchar(250) NOT NULL,";
$tabel.="vraag18 varchar(250) NOT NULL,";
$tabel.="vraag19 varchar(250) NOT NULL,";
$tabel.="vraag20 varchar(250) NOT NULL,";
$tabel.="vraag21 varchar(250) NOT NULL,";
$tabel.="vraag22 varchar(250) NOT NULL,";
$tabel.="vraag23 varchar(250) NOT NULL,";
$tabel.="vraag24 varchar(250) NOT NULL,";
$tabel.="vraag25 varchar(250) NOT NULL,";
$tabel.="vraag26 varchar(250) NOT NULL,";
$tabel.="vraag27 varchar(250) NOT NULL,";
$tabel.="vraag28 varchar(250) NOT NULL,";
$tabel.="vraag29 varchar(250) NOT NULL,";
$tabel.="vraag30 varchar(250) NOT NULL,";
$tabel.="vraag31 varchar(250) NOT NULL,";
$tabel.="PRIMARY KEY(id))";


$connection=mysql_connect("localhost","root","");
mysql_query($db,$connection);
mysql_query($tabel,$connection);

mysql_select_db("enquete", $connection);

echo mysql_error();


?>


</body>
</html>
Krijg je een error?
Beetje offtopic: Wat een gruwelijke database! Dit is een complete ramp om te gebruiken en te onderhouden, er is niets genormaliseerd en heeft dus eigenlijk ook niets met een database (rdbm) te maken.

Ga je eens verdiepen in normaliseren, daar ze je nog een hoop plezier aan beleven.

Succes!
Nee, ik krijg geen error alleen in phpMyAdmin geeft hij aan dat er geen tabellen zijn. Normaliseren? Zal eens kijken of ik er wat van op kan steken maar eerst moet dit werken.

Met vriendelijke groet,
Frank
Je moet de error eerder echoën. Direct na mysql_query($tabel,$connection);
Die error heb ik verplaatst maar het werkt nog steeds niet. Vreemd. Inmiddels is het me wel gelukt om de reultaten per mail vanaf de localhost te versturen, dat dan weer wel.

Groet,
Frank
Heb ook nog even gekeken naar dat artikeltje over normaliseren. Dit lijkt me erg nuttig maar vooral bij grote databasestructuren. Repeterende groepen komen in dit voorbeeld niet voor, het zijn slechts de resultaten van een enquête die in een tabel moeten worden opgeslagen. Procesgegevens ook niet. Ik zou dus niet weten hoe je een en ander zou kunnen normaliseren en of dit in dit geval uberhaupt noodzakelijk is. Maar toch, bedankt voor de tip, ga me er zeker eens wat meer in verdiepen want het wordt al snel een rommeltje.

Groet,
Frank

Reageren