Ik ben met een registratie-formulier bezig en wil alle velden die in de db staan doorgeven aan de INSERT INTO-query en wel op de volgende manier:

<?php

...

$query = "SELECT * FROM $tablename WHERE name='$name'";
$result = mysql_query($query) or die (mysql_error());
$num_fields = mysql_num_fields($result);
$aantal = mysql_num_rows($result);

...

$query = "INSERT INTO gebruikers (";
for ($i=1; $i<$num_fields; $i++)
{
$field_name = mysql_field_name($result, $i);
if ($i < $num_fields) {
$query .= $field_name . ", ";
}else{
$query .= $field_name;
}

}

...

?>

alleen geeft hij na t laatste veld nog ", " wat dus niet de bedoeling is.
zal wel iets over t hoofd zien denk ik.
wie kan me hiermee helpen?
volgens mij kun je het ook zo doen

<?php

$quer = "INSERT INTO gebruikers (";

for ($i=1; $i<$num_fields; $i++)
$numfield = $num_fields - 1;
{
$field_name = mysql_field_name($result, $i);
if ($i <= $numfield) {
$quer .= "'{$field_name}', ";
}elseif($i == $num_fields){
$quer .= "'{$field_name}'";
}

}

// weet niet of dit helemaal klopt maar volgens mij
// zet ik er nu ); achter
$query = $quer "\)\;";


?>

succes
Zal het even uitproberen, maar er moet nog wel

$query .= ") VALUES ($name, password('$pw')";
...
$query .= ");";

aan toegevoegt worden ;-p
sorry,, moest hem nog effe editen :D,, had een fout ondekt

Reageren