Onderstaande code geeft dit op het scherm:
column= trick_a1 invoeg= Turtle (Backflip)
Could not connect: FUNCTION tweelijners.Turtle does not exist

info: "tweelijners" is de naam van de database.
voor een of andere reden zoekt mysql naar de invoer als kolomnaam, terwijl het net andersom is toch?
De array $tricksinvoegen bevat alle correcte kolomnamen
Via $_POST["trick"] kan ik effectief alle 18 tricknamen ophalen die ik in een andere pagina invoer.

Welke fout heb ik gemaakt?


<?php
$pilotname = $_SESSION['pilotname'];
$pilotname = mysql_real_escape_string($pilotname);
$tricksinvoegen = array("trick_a1","trick_a2","trick_a3","trick_a4","trick_a5","trick_a6","trick_a7","trick_a8","trick_a9","trick_b1","trick_b2","trick_b3","trick_b4","trick_b5","trick_b6","trick_b7","trick_b8","trick_b9");
$sel = 0;
foreach ( $_POST["trick"] as $v)
{
echo "<br/>";
// print_r($_POST['trick']);
$invoeg = $v;
$column = $tricksinvoegen[$sel];
$scherm = "column= ". $column . " invoeg= " . $invoeg . "<br/>";
echo $scherm;
$sel = $sel + 1;

$query = "UPDATE balletlists SET ".$column." = ".$invoeg." WHERE Pilot_name = '$pilotname'";
mysql_query($query,$connection)
or die('Could not connect: ' . mysql_error());
}
?>
Hugo Maes op 18/06/2011 12:08:57

Kijk Johnny, daar kan ik wat mee!
De invulwaarde had ik ondertussen al goed, de escape_string staat in lijn 3 (zie hoger)
Maar de fout, die heb jij gevonden!
De Pilot_name moet tussen de ' ' staan, die voeg ik er aan toe als volgt:
<?PHP
$pilotname = "'".$pilotname."'";
?>

En nu schrijft de query wél alles naar de database zoals het hoort in deze loop
Van harte bedankt!


Dit is je ook al bij de eerste reactie in dit topic verteld.
quote: "Dit is je ook al bij de eerste reactie in dit topic verteld."

Dat ging over de invoegwaarde, toch?
Nu was het de variable veldwaarde (het WHERE gedeelte) waar nog een foutje inzat
De rest bleek dus al te staan zoals het hoorde.
De Pilot_name werd bij de foutmelding en echo steeds met aanhalingstekens weergegeven, het is pas na de opmerking van Johnny hierboven dat ik dezelfde manier van werken toepas op de variabele van de WHERE dat de query werkte naar behoren.
Ere wie ere toekomt!

Reageren