1. <tfoot id='Ht55S'></tfoot>

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

    2. <legend id='Ht55S'><style id='Ht55S'><dir id='Ht55S'><q id='Ht55S'></q></dir></style></legend>
      • <bdo id='Ht55S'></bdo><ul id='Ht55S'></ul>
      <i id='Ht55S'><tr id='Ht55S'><dt id='Ht55S'><q id='Ht55S'><span id='Ht55S'><b id='Ht55S'><form id='Ht55S'><ins id='Ht55S'></ins><ul id='Ht55S'></ul><sub id='Ht55S'></sub></form><legend id='Ht55S'></legend><bdo id='Ht55S'><pre id='Ht55S'><center id='Ht55S'></center></pre></bdo></b><th id='Ht55S'></th></span></q></dt></tr></i><div id='Ht55S'><tfoot id='Ht55S'></tfoot><dl id='Ht55S'><fieldset id='Ht55S'></fieldset></dl></div>

      带有“WHERE ... IN"的 PDO查询

      时间:2023-09-21

        <bdo id='JWD3M'></bdo><ul id='JWD3M'></ul>
        <tfoot id='JWD3M'></tfoot>
          <tbody id='JWD3M'></tbody>

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

            <legend id='JWD3M'><style id='JWD3M'><dir id='JWD3M'><q id='JWD3M'></q></dir></style></legend>

                本文介绍了带有“WHERE ... IN"的 PDO查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                我正在修改一些 PHP 代码以使用 PDO 进行数据库访问,但我遇到了WHERE... IN"查询的问题.

                I'm reworking some PHP code to use PDO for the database access, but I'm running into a problem with a "WHERE... IN" query.

                我正在尝试从数据库中删除一些内容,基于表单上的哪些项目被检查.列表的长度和内容会有所不同,但对于这个例子,想象一下:

                I'm trying to delete some things from a database, based on which items on a form are checked. The length and content of the list will vary, but for this example, imagine that it's this:

                $idlist = '260,201,221,216,217,169,210,212,213';
                

                然后查询看起来像这样:

                Then the query looks like this:

                $query = "DELETE from `foo` WHERE `id` IN (:idlist)";
                $st = $db->prepare($query);
                $st->execute(array(':idlist' => $idlist));
                

                当我这样做时,只会删除第一个 ID.(我假设它会抛出逗号及其后的所有内容.)

                When I do this, only the first ID is deleted. (I assume it throws out the comma and everything after it.)

                我也试过把 $idlist 变成一个数组,但它并没有删除任何东西.

                I've also tried making $idlist an array, but then it doesn't delete anything.

                在 PDO 准备好的语句中使用项目列表的正确方法是什么?

                推荐答案

                由于您无法将值(数字)与控制流逻辑(逗号)与准备好的语句混合使用,因此每个值需要一个占位符.

                Since you can't mix Values (the Numbers) with control flow logic (the commas) with prepared statements you need one placeholder per Value.

                $idlist = array('260','201','221','216','217','169','210','212','213');
                
                $questionmarks = str_repeat("?,", count($idlist)-1) . "?";
                
                $stmt = $dbh->prepare("DELETE FROM `foo` WHERE `id` IN ($questionmarks)");
                

                并循环绑定参数.

                这篇关于带有“WHERE ... IN"的 PDO查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:PDO 错误:&quot;SQLSTATE[HY000]:一般错误更新数据库 下一篇:PDO 关闭连接

                相关文章

                最新文章

              • <tfoot id='Is2vf'></tfoot>
                  <bdo id='Is2vf'></bdo><ul id='Is2vf'></ul>
                1. <legend id='Is2vf'><style id='Is2vf'><dir id='Is2vf'><q id='Is2vf'></q></dir></style></legend>

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

                  1. <i id='Is2vf'><tr id='Is2vf'><dt id='Is2vf'><q id='Is2vf'><span id='Is2vf'><b id='Is2vf'><form id='Is2vf'><ins id='Is2vf'></ins><ul id='Is2vf'></ul><sub id='Is2vf'></sub></form><legend id='Is2vf'></legend><bdo id='Is2vf'><pre id='Is2vf'><center id='Is2vf'></center></pre></bdo></b><th id='Is2vf'></th></span></q></dt></tr></i><div id='Is2vf'><tfoot id='Is2vf'></tfoot><dl id='Is2vf'><fieldset id='Is2vf'></fieldset></dl></div>