18910140161

JavaScript-Show关于HTML-Stack溢出的警报消息

顺晟科技

2022-10-19 12:21:36

99

我是PHP新手,我想问一下我的问题。我有一个插入功能和检查重复数据的代码。但是在我的代码中,如果有重复的数据,就不能显示消息。但是检查double data的查询是work.,我希望在section类内容之后在master_toko.php上显示我的消息duplicate data。请帮助我解决这个问题

CrudAction.php

<?php
    
    function runQuery($db, $query, $queryType) {
    
        $result = mysqli_query($db, $query);
        if(!empty(mysqli_error($db))) {
            return [
                'error' => true,
                'message' => mysqli_error($db)
            ];
        }
            
            return [
                'error' => false,
                'message' => getMessage($queryType)
            ];
    }
    
    function buildInsertQuery($tableName, $data) {
    
        $tableColumns = [];
        $insertValues = [];
        foreach ($data as $key => $value) {
            array_push($tableColumns, $key);
            array_push($insertValues, $value);
        }
    
        $columns = "(`" . implode("`,`", $tableColumns) . "`)";
        $values = "('" . implode("','", $insertValues) . "')";
        $query = "INSERT INTO `$tableName` ". $columns . " VALUES " . $values ." ";
        
        return $query ?? false;
    }
    
    
    function getMessage($queryType) {
        $messages = [
            'insert' => 'Data has been succesfuly added',
            'delete' => 'Data has been succesfuly deleted',
            'dataDouble' => 'Data Ada yang Dobel'
        ];  
    
        return $messages[$queryType];
    }
    
    function getLastID() {
        return mysqli_insert_id();
    }
    ?>

formaction.php

<?php
    
    function runQuery($db, $query, $queryType) {
    
        $result = mysqli_query($db, $query);
        if(!empty(mysqli_error($db))) {
            return [
                'error' => true,
                'message' => mysqli_error($db)
            ];
        }
            
            return [
                'error' => false,
                'message' => getMessage($queryType)
            ];
    }
    
    function buildInsertQuery($tableName, $data) {
    
        $tableColumns = [];
        $insertValues = [];
        foreach ($data as $key => $value) {
            array_push($tableColumns, $key);
            array_push($insertValues, $value);
        }
    
        $columns = "(`" . implode("`,`", $tableColumns) . "`)";
        $values = "('" . implode("','", $insertValues) . "')";
        $query = "INSERT INTO `$tableName` ". $columns . " VALUES " . $values ." ";
        
        return $query ?? false;
    }
    
    
    function getMessage($queryType) {
        $messages = [
            'insert' => 'Data has been succesfuly added',
            'delete' => 'Data has been succesfuly deleted',
            'dataDouble' => 'Data Ada yang Dobel'
        ];  
    
        return $messages[$queryType];
    }
    
    function getLastID() {
        return mysqli_insert_id();
    }
    ?>

tokocrud.php

<?php
    
    function runQuery($db, $query, $queryType) {
    
        $result = mysqli_query($db, $query);
        if(!empty(mysqli_error($db))) {
            return [
                'error' => true,
                'message' => mysqli_error($db)
            ];
        }
            
            return [
                'error' => false,
                'message' => getMessage($queryType)
            ];
    }
    
    function buildInsertQuery($tableName, $data) {
    
        $tableColumns = [];
        $insertValues = [];
        foreach ($data as $key => $value) {
            array_push($tableColumns, $key);
            array_push($insertValues, $value);
        }
    
        $columns = "(`" . implode("`,`", $tableColumns) . "`)";
        $values = "('" . implode("','", $insertValues) . "')";
        $query = "INSERT INTO `$tableName` ". $columns . " VALUES " . $values ." ";
        
        return $query ?? false;
    }
    
    
    function getMessage($queryType) {
        $messages = [
            'insert' => 'Data has been succesfuly added',
            'delete' => 'Data has been succesfuly deleted',
            'dataDouble' => 'Data Ada yang Dobel'
        ];  
    
        return $messages[$queryType];
    }
    
    function getLastID() {
        return mysqli_insert_id();
    }
    ?>

MessageBox.php

<?php
    
    function runQuery($db, $query, $queryType) {
    
        $result = mysqli_query($db, $query);
        if(!empty(mysqli_error($db))) {
            return [
                'error' => true,
                'message' => mysqli_error($db)
            ];
        }
            
            return [
                'error' => false,
                'message' => getMessage($queryType)
            ];
    }
    
    function buildInsertQuery($tableName, $data) {
    
        $tableColumns = [];
        $insertValues = [];
        foreach ($data as $key => $value) {
            array_push($tableColumns, $key);
            array_push($insertValues, $value);
        }
    
        $columns = "(`" . implode("`,`", $tableColumns) . "`)";
        $values = "('" . implode("','", $insertValues) . "')";
        $query = "INSERT INTO `$tableName` ". $columns . " VALUES " . $values ." ";
        
        return $query ?? false;
    }
    
    
    function getMessage($queryType) {
        $messages = [
            'insert' => 'Data has been succesfuly added',
            'delete' => 'Data has been succesfuly deleted',
            'dataDouble' => 'Data Ada yang Dobel'
        ];  
    
        return $messages[$queryType];
    }
    
    function getLastID() {
        return mysqli_insert_id();
    }
    ?>

master_toko.php

<?php
    
    function runQuery($db, $query, $queryType) {
    
        $result = mysqli_query($db, $query);
        if(!empty(mysqli_error($db))) {
            return [
                'error' => true,
                'message' => mysqli_error($db)
            ];
        }
            
            return [
                'error' => false,
                'message' => getMessage($queryType)
            ];
    }
    
    function buildInsertQuery($tableName, $data) {
    
        $tableColumns = [];
        $insertValues = [];
        foreach ($data as $key => $value) {
            array_push($tableColumns, $key);
            array_push($insertValues, $value);
        }
    
        $columns = "(`" . implode("`,`", $tableColumns) . "`)";
        $values = "('" . implode("','", $insertValues) . "')";
        $query = "INSERT INTO `$tableName` ". $columns . " VALUES " . $values ." ";
        
        return $query ?? false;
    }
    
    
    function getMessage($queryType) {
        $messages = [
            'insert' => 'Data has been succesfuly added',
            'delete' => 'Data has been succesfuly deleted',
            'dataDouble' => 'Data Ada yang Dobel'
        ];  
    
        return $messages[$queryType];
    }
    
    function getLastID() {
        return mysqli_insert_id();
    }
    ?>

顺晟科技:

您的函数没有值,所以在条件中引用它总是会产生结果,不管它在做什么计算。您想要计算结果:

<?php
    
    function runQuery($db, $query, $queryType) {
    
        $result = mysqli_query($db, $query);
        if(!empty(mysqli_error($db))) {
            return [
                'error' => true,
                'message' => mysqli_error($db)
            ];
        }
            
            return [
                'error' => false,
                'message' => getMessage($queryType)
            ];
    }
    
    function buildInsertQuery($tableName, $data) {
    
        $tableColumns = [];
        $insertValues = [];
        foreach ($data as $key => $value) {
            array_push($tableColumns, $key);
            array_push($insertValues, $value);
        }
    
        $columns = "(`" . implode("`,`", $tableColumns) . "`)";
        $values = "('" . implode("','", $insertValues) . "')";
        $query = "INSERT INTO `$tableName` ". $columns . " VALUES " . $values ." ";
        
        return $query ?? false;
    }
    
    
    function getMessage($queryType) {
        $messages = [
            'insert' => 'Data has been succesfuly added',
            'delete' => 'Data has been succesfuly deleted',
            'dataDouble' => 'Data Ada yang Dobel'
        ];  
    
        return $messages[$queryType];
    }
    
    function getLastID() {
        return mysqli_insert_id();
    }
    ?>

还请注意,通常不希望依赖SELECT查询的输出来避免插入重复项。在多用户系统中,在运行SELECT和后续insert之间,另一个进程可能会插入到数据库中,然后您将获得重复的进程。相反,在有问题的字段上创建唯一约束,然后验证插入是否成功。

而且,您的代码容易受到SQL injection攻击。不要使用字符串连接构建查询,而是始终使用绑定参数。有关一些好的示例,请参见此页此贴

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航