多个查询在一个php文件中使用先前查询的结果集

时间:2012-02-09 13:50:23

标签: php mysql sql database phpmyadmin

我正在尝试使用我从MySQL查询中接收的值然后执行插入但它不起作用。我收到语法错误,但插入查询是正确的。

选择查询返回我正在检查的金额,然后程序应该执行插入查询。

    <?php
require 'header.php';

$resID = mysql_real_escape_string($_POST['resID']);
$materialen_id = mysql_real_escape_string($_POST['materialen_id']);
$aantal = mysql_real_escape_string($_POST['aantal']);
$effectief_gebruikt = mysql_real_escape_string($_POST['effectief_gebruikt']);
$opmerking = mysql_real_escape_string($_POST['opmerking']);
//$datum_van = date('d-m-Y', $_POST['datum_van']);
//$datum_tot = date('d-m-Y', $_POST['datum_tot']);
$datum_van = $_POST['datum_van'];
$datum_tot = $_POST['datum_tot'];


$sql = "SELECT `aantal_beschikbaar` 
        FROM `materialen` 
        WHERE `id` = $materialen_id";

$result = mysql_query($sql) or die(mysql_error());

while ($row = mysql_fetch_array($result))
{
    $tot = $row['aantal_beschikbaar'];
    echo 'totaal: ' . $tot;
}



$sql2 = "SELECT `aantal` FROM `materialen_per_reservatie`
        WHERE `materialen_id` = $materialen_id";  
$result2 = mysql_query($sql2) or die(mysql_error());

while ($row = mysql_fetch_array($result2))
{
    //$aant = $row['aantal'];
    //echo $aant
    echo $row['aantal'];
}

$besch = ($tot - $aant);
echo 'beschikbaar: ' . $besch;



/*$sql3 = "SELECT * FROM `materialen_per_reservatie`
        WHERE `reservaties_id` = $resID
        AND   `materialen_id` = $materialen_id";
$result3 = mysql_query($sql3) or die(mysql_error());*/

if($besch > $aantal){



        $string2 = "INSERT INTO `materialen_per_reservatie`(`reservaties_id`, `materialen_id`, `aantal`, `effectief_gebruikt`, `opmerking`, `datum_van`, `datum_tot`) VALUES ($resID, $materialen_id, $aantal, $effectief_gebruikt, '$opmerking', '$datum_van', '$datum_tot')";
        mysql_query($string2) or die(mysql_error());  


}      

require 'footer.php';
?>

1 个答案:

答案 0 :(得分:1)

如果错误仅在插入查询...

您的插入查询缺少所需空间:

INSERT INTO `materialen_per_reservatie` (`reservaties_id`, `materialen_id`, `aantal`, `effectief_gebruikt`, `opmerking`, `datum_van`, `datum_tot`) VALUES ($resID, $materialen_id, $aantal, $effectief_gebruikt, '$opmerking', '$datum_van', '$datum_tot')

materialen_per_reservatie之后添加空格。而且我不确定你是否需要所有引号。

INSERT INTO materialen_per_reservatie (reservaties_id, materialen_id, aantal, effectief_gebruikt, opmerking, datum_van, datum_tot) VALUES ($resID, $materialen_id, $aantal, $effectief_gebruikt, '$opmerking', '$datum_van', '$datum_tot')