Hoi Allemaal,

Ik heb een pagina met lijst met allemaal checkboxes. Een memo veld en weer een lijst met checkboxes.

Ik wil dat er per afgevinkt checkvox (regel checks) een regel in de database wordt aangemaakt, met de gegevens van de memo en de afgevinkte checkboxes informatie.

Ik krijg nu de foutmelding
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''')' at line 1

Mijn code ziet er zo nu uit


<head>
<title> BovenIJ Ziekenhuis Afdeling Automatisering Service Desk</title>
<link rel="stylesheet" type="text/css"
href="http://127.0.0.1/cockpitcheck/default_css.css" />
<style type="text/css">
<!--
.style2 {font-size: 10px}
.style4 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
font-weight: bold;
}
.style5 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}
-->
</style>
</head>
<body>

<table cellspacing="0" cellpadding="0" width="100%">

<tr>

<td class="headertdtop" colspan="2"></td>

</tr>

<tr>

<td class="headertdmenu" colspan="2">&nbsp;</td>

</tr>

<tr>

<td class="headertdbottomleft">&nbsp;</td>

<td class="headertdbottomright"><span class="style2">Afdeling Automatisering Servicedesk</span>&nbsp;&nbsp;</td>

</tr>

</table>

<div align="center">





<?php

mysql_connect("localhost", "root");
mysql_select_db ("cockpitcheck")
or die ("fout");

if (empty($_POST)){
echo ("vul eerst <a href=\"oef_1201.php\"> gegevens voor de medewerker </a> in");
exit ();

}
else {

$memo = $_POST['memo_omschrijving'];
$employees_id = $_POST['employees'];
//$department_id = $_POST['department'];
$query= "INSERT INTO cc_incidents (memo, employees_id_insert) VALUES ('$memo' , '$employees_id')";

$result = mysql_query($query) or die (mysql_error());
}
?>




<?php

mysql_connect("localhost", "root");
mysql_select_db ("cockpitcheck")
or die ("fout");

$query = "INSERT INTO cc_incidents (check_id, incidents_id) VALUES ";
foreach($_POST['check_id'] AS $key => $id)
{
$query .= "(" . $insertid . ",'". $id ."'),";
}
$query = substr($query, 0, -1);
$result = mysql_query($query) or die (mysql_error());

echo "$query";


?>






<html>
<head>
<title>Een nieuwe check toevoegen aan de cockpitcheck </title>
</head>
<body>
<h2>Gelukt! </h2>
<h4>De volgende check is ingevoerd </h4>
<?php



//echo ("Query die wordt uitgevoerd: <b> $query</b> <hr>\n");
echo ("De volgende gegevens zijn ingevoerd: <br>\n");

echo ("Controle omschrijving: <b> " . $_POST["check_description"] . " </b> <br> <br><br>");






?>
<a href=http://127.0.0.1/cockpitcheck/beheer.php>Terug </a>

<?php

echo "$query";

?>



</body>
</html>


Vast bedankt.
Je tweede query klopt ook niet. Je vergeet het gedeelte achter VALUES...

Tip: echo bij een foutmelding ook altijd de query, dat kun je direct zien waar het fout gaat.
Achter die Values staat tochforeach
<?php
($_POST['check_id'] AS $key => $id)
{
$query .= "(" . $insertid . ",'". $id ."'),";
}
$query = substr($query, 0, -1);
$result = mysql_query($query) or die (mysql_error());

?>
Er is een for each in gebouwd. ??
Welke waarde moet ik hem dan mee geven?
Klopt ik zie het. Maar hoe ziet de query eruit als je hem echot? Daar kun je waarschijnlijk de fout wel al uit halen...

Ik krijg dan de foutmelding

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''),(,'')' at line 1

De foutmelding zit echt in dit stukje..

<?php

mysql_connect("localhost", "root");
mysql_select_db ("cockpitcheck")
or die ("fout");


$query = "INSERT INTO cc_incidents (check_id, incidents_id) VALUES ";
foreach($_POST['check_id'] AS $key => $id)
{
$query .= "(" . $insertid . ",'". $id ."'),";
}
$query = substr($query, 0, -1);
$result = mysql_query($query) or die (mysql_error());

echo "$query";


?>

Als ik het bovenstaande stuk er uit haalt krijg ik namelijk wel een goede query terug
INSERT INTO cc_incidents (memo, employees_id_insert) VALUES ('test' , '1')

Deze wordt ook weg geschreven naar de database.
Deze wordt ook weg geschreven naar de database
Dan gaat het dus blijkbaar fout in je andere query. Dus nogmaals, als er een query mislukt, echo dan zowel de foutmelding als de uitgevoerde query.

Dus iets in de trend van:
<?php
if(!$result)
{
trigger_error(mysql_error().' In query: '.$query);
}
?>
Ik heb het stukje van jou er onder geplakt maar ik krijg nog steeds deze foutmelding

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''),(,'')' at line 1
Ja je zult die foutmelding ook wel krijgen, maar als het goed is krijg je nu ook de uitgevoerde query te zien. En dat is waar je benieuwd naar bent want dan kun je zien wat er fout gaat...
Nee sorry, ik blijf de zelfde foutmelding krijgen, met jouw regel of zonder jouw regel...

Ik wil gewoon dat als de post (check_id) is aan gevinkt een database regel wordt aanmaakt. En als er 2 checkboxes (check_id) zijn aangevinkt 2 regels maakt in de database. Voor elke afgevinkte checkbox een aparte regel aanmaken.
Heb je die foutafhandling bij beide queries toegepast?

Reageren