久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

        <bdo id='bPd0s'></bdo><ul id='bPd0s'></ul>
      <legend id='bPd0s'><style id='bPd0s'><dir id='bPd0s'><q id='bPd0s'></q></dir></style></legend>
      <tfoot id='bPd0s'></tfoot>

      <i id='bPd0s'><tr id='bPd0s'><dt id='bPd0s'><q id='bPd0s'><span id='bPd0s'><b id='bPd0s'><form id='bPd0s'><ins id='bPd0s'></ins><ul id='bPd0s'></ul><sub id='bPd0s'></sub></form><legend id='bPd0s'></legend><bdo id='bPd0s'><pre id='bPd0s'><center id='bPd0s'></center></pre></bdo></b><th id='bPd0s'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='bPd0s'><tfoot id='bPd0s'></tfoot><dl id='bPd0s'><fieldset id='bPd0s'></fieldset></dl></div>

      <small id='bPd0s'></small><noframes id='bPd0s'>

    1. 如何制作 PDO 類方法,用于在 arg 中使用未知數量

      How to make a PDO class method for inserting/updating/deleting with an unknown number of parameters in the arg(如何制作 PDO 類方法,用于在 arg 中使用未知數量的參數插入/更新/刪除) - IT屋-程序員軟件開發技術分

        <bdo id='IWy8H'></bdo><ul id='IWy8H'></ul>

            <legend id='IWy8H'><style id='IWy8H'><dir id='IWy8H'><q id='IWy8H'></q></dir></style></legend>
                <tbody id='IWy8H'></tbody>

                <small id='IWy8H'></small><noframes id='IWy8H'>

              • <tfoot id='IWy8H'></tfoot>
              • <i id='IWy8H'><tr id='IWy8H'><dt id='IWy8H'><q id='IWy8H'><span id='IWy8H'><b id='IWy8H'><form id='IWy8H'><ins id='IWy8H'></ins><ul id='IWy8H'></ul><sub id='IWy8H'></sub></form><legend id='IWy8H'></legend><bdo id='IWy8H'><pre id='IWy8H'><center id='IWy8H'></center></pre></bdo></b><th id='IWy8H'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='IWy8H'><tfoot id='IWy8H'></tfoot><dl id='IWy8H'><fieldset id='IWy8H'></fieldset></dl></div>
                本文介紹了如何制作 PDO 類方法,用于在 arg 中使用未知數量的參數插入/更新/刪除的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                目前我正在嘗試創建一個 PDO 類,我將在其中使用一種方法來運行諸如 INSERT、UPDATE 或 DELETE 之類的查詢.

                Currently Im trying to create a PDO class where I will have a method to run a query like INSERT, UPDATE, or DELETE.

                例如,這是我的 SELECT 方法

                For examaple this is my method for a SELECT

                 public function getPreparedQuery($sql){
                    $stmt = $this->dbc->prepare($sql);
                    $stmt->execute([5]);
                    $arr = $stmt->fetchAll(PDO::FETCH_ASSOC);
                    if(!$arr) exit('No rows');
                    $stmt = null;
                    return $arr;
                }
                

                我只是這樣稱呼它:

                    $stmt = $database->getPreparedQuery($sql2);
                var_export($stmt);
                

                到目前為止,我知道 runQuery 應該像這樣工作:

                And so far I know that a runQuery should work something similar to this:

                不使用方法插入示例:

                $idRol = "6";
                $nomRol = "test6";                          
                $stmt = $database->dbc->prepare("insert into roles (idRol, NomRol) values (?, ?)");
                $stmt->execute(array($idRol,$nomRol));
                $stmt = null;
                

                但我想把它變成一個通用的方法,我可以簡單地傳遞sql語句,就像這樣:

                But I want to make it into an universal method where i simply can pass the sql sentence, something like this:

                $database->runQuery($query);
                

                但查詢可能恰好是

                $query = "插入角色 (idRol, NomRol) VALUES ('4','test')";

                $query = "INSERT INTO roles (idRol, NomRol) VALUES ('4','test')";

                $query = "插入電影 (movName, movLength, movArg) VALUES ('name1','15','movie about...')";

                $query = "INSERT INTO movies (movName, movLength, movArg) VALUES ('name1','15','movie about...')";

                那么我如何對 arg $query 進行切片,以便我可以獲取所有正在使用的變量以創建一個通用的 runQuery?

                So how do I slice the arg $query so I can get all the variables that are being used in order to make an universal runQuery?

                因為我可以想象我的方法應該是這樣的

                Because I can imagine that my method should be something like this

                runQuery([$var1 , $var2, $var3....(there can be more)] , [$var1value, $var2value, $var3value...(there can be more)]){
                
                        $stmt = $database->dbc->prepare("insert into movies($var1 , $var2, $var3....(there can be more)) values (?, ? , ? (those are the values and there ca be more than 3)"); //how do i get those "?" value and amount of them, and the name of the table fields [movName, movLength, movArg can be variable depending of the sentence]?
                        $stmt->execute(array($var1,$var2, $var3, ...)); //this is wrong , i dont know how to execute it
                        $stmt = null;
                }
                

                推薦答案

                您需要向函數中添加第二個參數.只是一個數組,所有這些變量都會在其中.根據定義,數組可以包含任意數量的元素,這正好可以解決您的問題:

                You need to add a second parameter to your function. Simply an array where all those variables would go. An array by definition can have an arbitrary number of elements, which solves your problem exactly:

                public function runQuery($sql, $parameters = []) {
                    $stmt = $this->dbc->prepare($sql);
                    $stmt->execute($parameters);
                    return $stmt;
                }
                

                這個簡單的函數將運行任何查詢.您可以在我專門介紹 PDO 輔助函數的文章中查看使用示例:

                this simple function will run ANY query. You can see the usage example in my article dedicated to PDO helper functions:

                // getting the number of rows in the table
                $count = $db->runQuery("SELECT count(*) FROM users")->fetchColumn();
                
                // the user data based on email
                $user = $db->runQuery("SELECT * FROM users WHERE email=?", [$email])->fetch();
                
                // getting many rows from the table
                $data = $db->runQuery("SELECT * FROM users WHERE salary > ?", [$salary])->fetchAll();
                
                // getting the number of affected rows from DELETE/UPDATE/INSERT
                $deleted = $db->runQuery("DELETE FROM users WHERE id=?", [$id])->rowCount();
                
                // insert
                $db->runQuery("INSERT INTO users VALUES (null, ?,?,?)", [$name, $email, $password]);
                
                // named placeholders are also welcome though I find them a bit too verbose
                $db->runQuery("UPDATE users SET name=:name WHERE id=:id", ['id'=>$id, 'name'=>$name]);
                
                // using a sophisticated fetch mode, indexing the returned array by id
                $indexed = $db->runQuery("SELECT id, name FROM users")->fetchAll(PDO::FETCH_KEY_PAIR);
                

                如您所見,現在您的函數可以用于具有任意數量參數的任何查詢

                As you can see, now your function can be used with any query with any number of parameters

                這篇關于如何制作 PDO 類方法,用于在 arg 中使用未知數量的參數插入/更新/刪除的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                Deadlock exception code for PHP, MySQL PDOException?(PHP、MySQL PDOException 的死鎖異常代碼?)
                PHP PDO MySQL scrollable cursor doesn#39;t work(PHP PDO MySQL 可滾動游標不起作用)
                PHP PDO ODBC connection(PHP PDO ODBC 連接)
                Using PDO::FETCH_CLASS with Magic Methods(使用 PDO::FETCH_CLASS 和魔術方法)
                php pdo get only one value from mysql; value that equals to variable(php pdo 只從 mysql 獲取一個值;等于變量的值)
                MSSQL PDO could not find driver(MSSQL PDO 找不到驅動程序)
                • <bdo id='O3Spy'></bdo><ul id='O3Spy'></ul>

                      <tbody id='O3Spy'></tbody>

                    <small id='O3Spy'></small><noframes id='O3Spy'>

                    <tfoot id='O3Spy'></tfoot>
                    <i id='O3Spy'><tr id='O3Spy'><dt id='O3Spy'><q id='O3Spy'><span id='O3Spy'><b id='O3Spy'><form id='O3Spy'><ins id='O3Spy'></ins><ul id='O3Spy'></ul><sub id='O3Spy'></sub></form><legend id='O3Spy'></legend><bdo id='O3Spy'><pre id='O3Spy'><center id='O3Spy'></center></pre></bdo></b><th id='O3Spy'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='O3Spy'><tfoot id='O3Spy'></tfoot><dl id='O3Spy'><fieldset id='O3Spy'></fieldset></dl></div>

                        • <legend id='O3Spy'><style id='O3Spy'><dir id='O3Spy'><q id='O3Spy'></q></dir></style></legend>
                        • 主站蜘蛛池模板: 久久88 | 资源首页二三区 | 成年人黄色一级毛片 | 免费在线观看91 | 国产一区免费视频 | 精品伊人| 三级av在线 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 天天射视频| av手机免费在线观看 | 国产精品视频97 | 99国内精品 | 一区二区三区国产精品 | 国产精品久久久久久久久久久久 | 欧美在线观看一区 | 97影院2| 黄片毛片 | 亚洲在线一区二区三区 | 色www精品视频在线观看 | 国产精品一区二区日韩 | 超碰国产在线 | 国产精品日日做人人爱 | 99精品国产一区二区三区 | 欧美亚州 | 粉嫩一区二区三区性色av | 欧产日产国产精品视频 | 久久新视频 | 亚洲精品第一页 | 国产欧美久久一区二区三区 | 激情在线视频网站 | 国产一区三区在线 | 精品国产一区一区二区三亚瑟 | 午夜在线小视频 | 国产日韩欧美 | 午夜免费 | 91精品国产综合久久久亚洲 | 日韩欧美一区二区三区免费观看 | 理论片87福利理论电影 | 久久久久久久久久久国产 | 欧美一级二级视频 | 国产一区二区久久 |