Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /home/www/tweemaster.awardspace.com/verkoopscript2.php on line 15
Waarschijnlijk heb je bij mysql_real_escape_string per ongeluk $values opgegeven in plaats van $value. Als dat niet zo is, moet je nog even aan de bel trekken, dan weet ik nog een andere oplossing voor je.
Oh ja, en je INSERT query hoort er zo uit te zien:
<?php
$sql = "
INSERT INTO nummers
SET
nummer = '" . $values['nummer'] . "',
prijs = " . $values['nummer'];
?>
De query van Jan is 1 van de mogelijkheden die MySQL toestaat, maar het is zeker geen SQL-standaard. Werk je, of wil je werken, met andere databases, gebruik dan de standaard:
<?php
$sql = "
INSERT INTO
nummers(
nummer,
prijs
)
VALUES(
'" . $values['nummer'] . "',
" . $values['nummer'] . "
)";
?>
Dit werkt in (vrijwel) alle databases.
En, mocht je bij mysql_real_escape_string wél keurig $value hebben opgegeven als argument, verander mijn vorige voorbeeld dan in:
<?PHP
$user="";
$host="";
$password="";
$database="";
$connection = mysql_connect ($host, $user, $password)
or die ("Kon geen verbinding maken");
$db = mysql_select_db($database, $connection)
or die ("Kon database niet selecteren");
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$values = array ();
foreach($_POST as $key => $value) {
if (!is_array ($value) {
$values[$key] = mysql_real_escape_string ($value);
if (!empty ($values['nummer']) && !empty ($values['prijs'])) {
// ik ga er van uit dat prijs GEEN string is, dus geen enkele quotes
$sql = "
INSERT INTO nummer
SET
nummer = '" . $values['nummer'] . "',
prijs = " . $values['nummer'];
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
}
}
?>
Parse error: parse error, unexpected '{' in /home/www/tweemaster.awardspace.com/verkoopscript2.php on line 16
Dit is het script:
<?PHP
$user="";
$host="";
$password="";
$database="";
$connection = mysql_connect ($host, $user, $password)
or die ("Kon geen verbinding maken");
$db = mysql_select_db($database, $connection)
or die ("Kon database niet selecteren");
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$values = array ();
foreach($_POST as $key => $value) {
if (!is_array ($value) {
$values[$key] = mysql_real_escape_string ($value);
if (!empty ($values['nummer']) && !empty ($values['prijs'])) {
// ik ga er van uit dat prijs GEEN string is, dus geen enkele quotes
$sql = "
INSERT INTO nummer
SET
id = '',
nummer = '" . $values['nummer'] . "',
prijs = " . $values['nummer'];
if (!mysql_query ($sql)) {
trigger_error (mysql_error ());
}
}
}
}
}
?>