PHP停在并显示一行代码

时间:2015-01-26 13:06:48

标签: php sql apache

最近我复制了一个PHP脚本,将其用于另一个数据库。在我正确编辑了所有单词和链接后,我得到了一个奇怪的错误。

SELECT naam, aantal, prijs 
FROM boeken, bestelling 
WHERE boeken.Boekcode = bestelling.Boekcode 
AND bestelling.Boekcode IN ('101','102') 
AND bestelnummer = 3;

这不是一个像

这样的常规错误
Error on line 42

基本上代码的作用是,当您订购书籍并填写表格(姓名,姓氏,电子邮件等)时,它会将其放入数据库中。然后将其放在“thankyou.html”页面中。

以下是导致此

的代码的一部分
mysqli_query($con, $query) or die($query . "<br>");
    $bestelnummer = MYSQLI_INSERT_ID($con);

    $object = array_filter($object);
    $objectnaam = join("','",array_keys($object));
    $object = http_build_query($object);
    $object = str_replace('=', ',', $object);
    $object = str_replace('&', "),($bestelnummer,", $object);

    $query = "INSERT INTO bestelling (bestelnummer, Boekcode, aantal) VALUES ($bestelnummer,$object)";
    $result = mysqli_query($con, $query) or die($query."<br>");

    $aantal = "SELECT naam, aantal, prijs FROM boeken, bestelling WHERE boeken.Boekcode = bestelling.Boekcode AND bestelling.Boekcode IN ('".$objectnaam."') AND bestelnummer = $bestelnummer";
    $result = mysqli_query($con, $aantal) or die($aantal . "<br>");

    $res = mysqli_fetch_all($result);
    $prijs = 0;

$ object是您选择的图书数组。

我已经谷歌解决了这个问题,是的,我有Apache和一切都已启用。

对不起,如果我不清楚,已经有一段时间了,我可以回答你的任何问题。

2 个答案:

答案 0 :(得分:1)

如果查询失败,你就会回显查询。

    $aantal = "SELECT naam, aantal, prijs FROM boeken, bestelling WHERE boeken.Boekcode = bestelling.Boekcode AND bestelling.Boekcode IN ('".$objectnaam."') AND bestelnummer = $bestelnummer";
    $result = mysqli_query($con, $aantal) or die($aantal . "<br>");

您可能希望使用mysqli_error()检查从数据库返回的错误消息。

$result = mysqli_query($con, $aantal) or die(mysqli_error() . "<br>");

答案 1 :(得分:0)

首先需要改进

$query = "INSERT INTO bestelling (bestelnummer, Boekcode, aantal) VALUES ($bestelnummer,$object)";

您正在为3列选择值插入并仅传递两个值

对于第二个查询,请尝试对表名和列

使用反引号