PHP ver gevorderde |
|
Ik heb weer een probleem met me MySQL class.. ik heb er een insert functie bij geschreven, die moet (natuurlijk) arrays verwerken... dat heb ik met een for loop gedaan... maar als ik een array wil gebruiken om te inserten worden geen enkele waardes+velden meegegeven...
als ik gwn 2 strings gebruik werkt het wel...
hier mijn functie:
<?
function insert($table,$colums,$values)
{
$waardes = "";
$kolommen = "";
if(is_array($colums))
{
$aantal = count($colums);
for($i=0; $i<$aantal, $i++;)
{
if($i==$aantal)
{
$kolommen .= "`".$colums[$i]."`";
}
else
{
$kolommen .= "`".$colums[$i]."`,";
}
}
}
else
{
$kolommen = "`".$colums."`";
}
if(is_array($values))
{
$aantal = count($values);
for($i=0; $i<$aantal, $i++;)
{
if($i==$aantal)
{
$waardes .= "`".$values[$i]."`";
}
else
{
$waardes .= "`".$values[$i]."`,";
}
}
}
else
{
$waardes = "'".$values."'";
}
$sql = "INSERT INTO
".$table."
(
".$kolommen."
)
VALUES
(".$waardes.")
";
if(!mysql_query($sql))
{
$this->log .= "Er trad een fout op bij het uitvoeren van de insert query: ".$sql."<br />".mysql_error()."<br />".mysql_errno()."<br /><br />";
}
}
?>
<? function insert($table,$colums,$values) { $waardes = ""; $kolommen = ""; { $aantal = count($colums); for($i=0; $i<$aantal, $i++;) { if($i==$aantal) { $kolommen .= "`".$colums[$i]."`"; } else { $kolommen .= "`".$colums[$i]."`,"; } } } else { $kolommen = "`".$colums."`"; } { $aantal = count($values); for($i=0; $i<$aantal, $i++;) { if($i==$aantal) { $waardes .= "`".$values[$i]."`"; } else { $waardes .= "`".$values[$i]."`,"; } } } else { $waardes = "'".$values."'"; } $sql = "INSERT INTO ".$table." ( ".$kolommen." ) VALUES (".$waardes.") "; { $this->log .= "Er trad een fout op bij het uitvoeren van de insert query: ".$sql."<br />".mysql_error()."<br />".mysql_errno()."<br /><br />"; } } ?>
ik roep het op via:
<?php
$mysql->insert("paginas",array("pagnaam","paginhoud"),array("timo","timo zit in 1b"));
?>
<?php $mysql->insert("paginas",array("pagnaam","paginhoud"),array("timo","timo zit in 1b")); ?>
|