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

  • <tfoot id='rQZpr'></tfoot>
      <bdo id='rQZpr'></bdo><ul id='rQZpr'></ul>

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

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

  • <legend id='rQZpr'><style id='rQZpr'><dir id='rQZpr'><q id='rQZpr'></q></dir></style></legend>

      1. 帶有命名占位符的 INSERT 和 ON DUPLICATE KEY UPDATE 的

        PDO prepared statements for INSERT and ON DUPLICATE KEY UPDATE with named placeholders(帶有命名占位符的 INSERT 和 ON DUPLICATE KEY UPDATE 的 PDO 準(zhǔn)備語句)
      2. <legend id='W7m1n'><style id='W7m1n'><dir id='W7m1n'><q id='W7m1n'></q></dir></style></legend><tfoot id='W7m1n'></tfoot>
      3. <small id='W7m1n'></small><noframes id='W7m1n'>

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

                <tbody id='W7m1n'></tbody>

              • <i id='W7m1n'><tr id='W7m1n'><dt id='W7m1n'><q id='W7m1n'><span id='W7m1n'><b id='W7m1n'><form id='W7m1n'><ins id='W7m1n'></ins><ul id='W7m1n'></ul><sub id='W7m1n'></sub></form><legend id='W7m1n'></legend><bdo id='W7m1n'><pre id='W7m1n'><center id='W7m1n'></center></pre></bdo></b><th id='W7m1n'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='W7m1n'><tfoot id='W7m1n'></tfoot><dl id='W7m1n'><fieldset id='W7m1n'></fieldset></dl></div>
                1. 本文介紹了帶有命名占位符的 INSERT 和 ON DUPLICATE KEY UPDATE 的 PDO 準(zhǔn)備語句的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  我想將 PDO INSERT 和 UPDATE 準(zhǔn)備好的語句切換為 INSERT 和 ON DUPLICATE KEY UPDATE,因為我認(rèn)為它會比我目前正在做的更有效率,但我無法弄清楚與命名占位符和 bindParam 一起使用的正確語法.

                  I'd like to switch PDO INSERT and UPDATE prepared statements to INSERT and ON DUPLICATE KEY UPDATE since I think it'll be a lot more efficient than what I'm currently doing, but I'm having trouble figuring out the correct syntax to use with named placeholders and bindParam.

                  我在 SO 上發(fā)現(xiàn)了幾個類似的問題,但我是 PDO 的新手,無法成功地根據(jù)我的標(biāo)準(zhǔn)調(diào)整代碼.這是我嘗試過的,但它不起作用(它不插入或更新):

                  I found several similar question on SO, but I'm new to PDO and couldn't successfully adapt the code for my criteria. This is what I've tried, but it doesn't work (it doesn't insert or update):

                  try { 
                    $stmt = $conn->prepare('INSERT INTO customer_info (user_id, fname, lname) VALUES(:user_id, :fname, :lname)'          
                   'ON DUPLICATE KEY UPDATE customer_info SET fname= :fname, 
                                                              lname= :lname   
                                                              WHERE user_id = :user_id'); 
                    $stmt->bindParam(':user_id', $user_id);  
                    $stmt->bindParam(':fname', $_POST['fname'], PDO::PARAM_STR);
                    $stmt->bindParam(':lname', $_POST['lname'], PDO::PARAM_STR);      
                    $stmt->execute();
                  }
                  

                  這是我的代碼的簡化版本(我有幾個查詢,每個查詢有 20 - 50 個字段).我目前正在首先更新并檢查更新的行數(shù)是否大于 0,如果不是則運行插入,并且每個查詢都有自己的一組 bindParam 語句.

                  This is a simplified version of my code (I have several queries, and each query has between 20 - 50 fields). I'm currently updating first and checking if the number of rows updated is greater than 0 and if not then running the Insert, and each of those queries has it's own set of bindParam statements.

                  推薦答案

                  您的 ON DUPLICATE KEY 語法不正確.

                  $stmt = $conn->prepare('INSERT INTO customer_info (user_id, fname, lname) VALUES(:user_id, :fname, :lname)
                      ON DUPLICATE KEY UPDATE fname= :fname2, lname= :lname2');
                  
                  $stmt->bindParam(':user_id', $user_id);  
                  $stmt->bindParam(':fname', $_POST['fname'], PDO::PARAM_STR);
                  $stmt->bindParam(':lname', $_POST['lname'], PDO::PARAM_STR);      
                  $stmt->bindParam(':fname2', $_POST['fname'], PDO::PARAM_STR);
                  $stmt->bindParam(':lname2', $_POST['lname'], PDO::PARAM_STR);      
                  

                  ON DUPLICATE KEY 子句中不需要放表名或SET,也不需要WHERE> 子句(它總是用重復(fù)的鍵更新記錄).

                  You don't need to put the table name or SET in the ON DUPLICATE KEY clause, and you don't need a WHERE clause (it always updates the record with the duplicate key).

                  參見 http://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html

                  您還有一個 PHP 語法錯誤:您將查詢拆分為兩個字符串.

                  You also had a PHP syntax error: you split the query up into two strings.

                  更新:

                  綁定多個參數(shù):

                  function bindMultiple($stmt, $params, &$variable, $type) {
                    foreach ($params as $param) {
                      $stmt->bindParam($param, $variable, $type);
                    }
                  }
                  

                  然后調(diào)用它:

                  bindMultiple($stmt, array(':fname', ':fname2'), $_POST['fname'], PDO::PARAM_STR);
                  

                  這篇關(guān)于帶有命名占位符的 INSERT 和 ON DUPLICATE KEY UPDATE 的 PDO 準(zhǔn)備語句的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

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

                  相關(guān)文檔推薦

                  MySQLi prepared statement amp; foreach loop(MySQLi準(zhǔn)備好的語句amp;foreach 循環(huán))
                  Is mysqli_insert_id() gets record from whole server or from same user?(mysqli_insert_id() 是從整個服務(wù)器還是從同一用戶獲取記錄?)
                  PHP MySQLi doesn#39;t recognize login info(PHP MySQLi 無法識別登錄信息)
                  mysqli_select_db() expects exactly 2 parameters(mysqli_select_db() 需要 2 個參數(shù))
                  Php mysql pdo query: fill up variable with query result(Php mysql pdo 查詢:用查詢結(jié)果填充變量)
                  MySQLI 28000/1045 Access denied for user #39;root#39;@#39;localhost#39;(MySQLI 28000/1045 用戶“root@“l(fā)ocalhost的訪問被拒絕)

                2. <legend id='vR1Zr'><style id='vR1Zr'><dir id='vR1Zr'><q id='vR1Zr'></q></dir></style></legend>
                    <tbody id='vR1Zr'></tbody>

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

                        <bdo id='vR1Zr'></bdo><ul id='vR1Zr'></ul>
                          1. 主站蜘蛛池模板: 一本一道久久a久久精品蜜桃 | 久久九九影视 | 亚洲www啪成人一区二区麻豆 | 最近中文字幕免费 | 国产成人精品久久 | 国产激情偷乱视频一区二区三区 | 欧美日韩一区二区三区四区 | 粉嫩一区二区三区国产精品 | 91 在线| 九色在线视频 | 中文字幕在线免费观看 | 成人综合在线视频 | 日韩在线视频一区 | 91私密视频 | 中文字幕亚洲无线 | 国产精品久久久久久久久久三级 | 国产探花在线观看视频 | 有码在线 | 国产一区二区在线免费视频 | av网站推荐 | 在线 丝袜 欧美 日韩 制服 | 日韩视频免费看 | 日韩1区2区 | 久久久精品网站 | 狠狠躁躁夜夜躁波多野结依 | 国产伦精品一区二区三区四区视频 | 拍真实国产伦偷精品 | 久久久久久国 | 99久久久国产精品免费消防器 | 国产精品一级在线观看 | 黄色网页在线观看 | 91在线看| 亚洲一区二区在线视频 | 91玖玖| 综合国产 | 青娱乐av| 伊人网在线综合 | 一区二区三区精品视频 | 欧美福利视频 | 成年人在线视频 | 欧美区在线观看 |