Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调试无法修复的错误_Php_Sql - Fatal编程技术网

Php 调试无法修复的错误

Php 调试无法修复的错误,php,sql,Php,Sql,我一直在编写一个php脚本,利用几个不同的提交按钮来更新、编辑和删除SQL数据库中的表信息。最近我犯了这个错误 致命错误:允许的内存大小134217728字节已用尽(已尝试 在中分配30720字节) /第46行的home/peroral/public_html/InsertProducts.php 我试过使用ini\u集(“内存限制”,“128M”)在我的php文件中,试图让它工作,但不管我分配了多少内存(我已经增加到512),我仍然会得到错误。有人对如何让我的剧本发挥作用有什么建议吗 这是我的

我一直在编写一个php脚本,利用几个不同的提交按钮来更新、编辑和删除SQL数据库中的表信息。最近我犯了这个错误

致命错误:允许的内存大小134217728字节已用尽(已尝试 在中分配30720字节) /第46行的home/peroral/public_html/InsertProducts.php

我试过使用
ini\u集(“内存限制”,“128M”)在我的php文件中,试图让它工作,但不管我分配了多少内存(我已经增加到512),我仍然会得到错误。有人对如何让我的剧本发挥作用有什么建议吗

这是我的密码

<!DOCTYPE html>
<html lange="en">

<!--orders.php-->

<html>
<head>
<title> InsertProducts.html form </title>
<meta charset="utf-8">
</head>
<body>
<?php
    ini_set("memory_limit","128M");
    require 'InsertProducts.php';
    $db = DB::connect('mysql://peroal:*******@localhost/peroral');

    if (DB::isError($db))
        {die("Cannot Connect " . $db->getMessage());}

    extract($_POST);    


        if(isset($create))
            {

            $q = $db->query("Create Table Products
            id MEDIUMINT NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), Product_Name VARCHAR (255), Product_Type VARCHAR (50), Product_Price DECIMAL (4,2), LOR INT");
            VALUES ('$Name', '$Type', $Price, $LOR);
        if (!$q)
                die("Unable to Create Table." . $q->getMessage());
        else
                print("Table Was Created.<br />");
            }

        else if(isset ($delete))
            { $q = $db ->query("DROP TABLE Products");

            if($q)
                print("Table Products Was Deleted.<br />");
            else
                print ("Unable to Delete Products Table.<br />");
            }

        else if (isset ($add))
            {   $q = $db ->query("INSERT INTO Products (Product_Name, Product_Type, Product_Price, LOR);
                VALUES ('$name, $type, $price, $lor)");

            if(!$q)
                print ("Query Failed.<br />");
            else
                print ("Query Successful.<br />");
            }
        else if (isset ($update))
            {   $q = $db ->query ("UPDATE Product_Name, Product_Type, Product_Price, LOR");
            if(!q)
                print ("Query Failed.<br />");
            else
                print ("Query Successful.<br />");
            }   
        else if (isset ($display))
            {  $sql = "SELECT Product_Name, Product_Type, Product_Price, LOR FROM products WHERE price >= $min_price
                AND price <= $max_price AND Product_Name LIKE '$name'";
            if($LOR == 'Liquor')
                $sql.='AND LOR=1';
            else
                $sql.='AND LOR=0';
            }   
        print '<table>';
        print '<tr><th>Name</th><th>Type</th><th>Price</th><th>LOR</th>';
        while ($row =$q->fetchRow())
            {
                $numberOfRows++;
                if($row[3] ==1)
                {
                 $LOR="Liquor";
                 }
                else
                {
                 $LOR="Beer";
                }
            print"<tr>";
            print"<td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$LOR</td>";
            print "</tr>";  
            }
        print'</table>';    

        if($numberOfRows == 0)
            print"No Match Found";
        ?>

</body>
</html>     



    ?>

InsertProducts.html表单
?>

根据服务器/主机的配置方式,ini\u集可能是可行的,也可能不是可行的选项


如果您有权访问php.ini文件,请更改那里的内存限制,它应该可以正常工作。

您在谷歌上搜索过解决方案吗?这已经被问了很多次了。这就是我如何得到ini_集(“内存限制”,“128M”);代码。不要使用
提取($\u POST)
。这真的很危险。黑客可以直接覆盖代码中的变量。不,您不需要使用extract($\u POST)。循环通过$\u POST而不是提取它。这样你就知道会发生什么。我没有权限访问它,因为我没有权限访问服务器中的任何东西。