duanmao2774 2017-07-24 13:04
浏览 48
已采纳

用于创建动态SQL查询的PHP函数

I have a lot of repetitive code that inserts and selects data from my MySQL database. Out of curiosity, is it possible to create a PHP function that can take the table, columns, and rows as parameters and generate the SQL statement. A completely dynamic SQL statement generator, if you will.

For example:

function PushData($table, $columns, $values)
{
    // insert data
}

Furthermore, is the opposite possible. A function that can select and return data.

function PullData($table, $columns, $rowID)
{
    // grab data
    return data;
}

Is something like this possible? If so, would this be something worth doing?

  • 写回答

2条回答 默认 最新

  • donglei2022 2017-07-24 15:12
    关注

    Try something like that i'm not sure that it will work.

    function PushData($table, $columns, $values)
    {
        $question_mark = count($columns)-1;
        $question_mark_array = array_fill(0, $question_mark, '?');
    
        $valueEscapedTrimed = array();
    
        foreach($values as $value)
        {
            $value=trim($value);
            $valueEscapedTrimed[] = htmlentities($value, ENT_QUOTES | ENT_HTML5, $encoding = 'UTF-8' );
        }
    
        $query = 'INSERT INTO '.$table. '(' .implode(' ',$columns). ') VALUES ('.implode(',',$question_mark_array).') \' ' ;
    
        foreach($valueEscapedTrimed as $value)
        {
            $stmt = $conn->prepare($query);
            $stmt->bindValue('?', $value);
            $stmt->execute();
            $stmt->CloseCursor();
            $stmt=null;
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程