以编程方式更新多个数据库中的相同过程

时间:2018-03-24 07:47:46

标签: php mysql

我有程序MY_OWN_PROC,参数为_DATE,_ID,其正文为:

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container-fluid">
<div class="row flexbox-wrap">
  
      <div class="col-lg-4 flexbox-equalise">
        <article class="media card card-1">
            <div class="row">
              <div class="col-xs-12 col-sm-12 col-lg-12">
                <div class="card-body align-self-left">
                  <h4 class="list-group-item-headline boxFixDw">LATEST RESOURCES</h4>
                  <p class="list-group-item-text">More added each week.</p>
                   <a href="X" class="button product_type_subscription add_to_cart_button ajax_add_to_cart">VIEW NOW</a>
                </div>
              </div>
            </div>
        </article>
      </div>
  
        <div class="col-lg-4 flexbox-equalise">
        <article class="media card card-1">
            <div class="row">
              <div class="col-xs-12 col-sm-12 col-lg-12">
                <div class="card-body card-body-left">
                  <h4 class="list-group-item-headline boxFixDw">JOIN NOW</h4>
                  <p class="list-group-item-text">For instant access.</p>
                   <a href="#" data-toggle="modal" data-target="#modalJoin" class="button product_type_subscription add_to_cart_button ajax_add_to_cart">SIGN UP</a>
                </div>
              </div>
            </div>
        </article>
      </div>
  
           <div class="col-lg-4 flexbox-equalise">
        <article class="media card card-1">
            <div class="row">
              <div class="col-xs-12 col-sm-12 col-lg-12">
                <div class="card-body card-body-left">
                  <h4 class="list-group-item-headline boxFixDw">SAMPLE RESOURCES</h4>
                  <p class="list-group-item-text">Check the quality.</p>
                  <a href="X/" class="button product_type_subscription add_to_cart_button ajax_add_to_cart">VIEW NOW</a>
                </div>
              </div>
            </div>
        </article>
      </div>
  
    </div>
</div>

我在数据库db1 - db100中有相同的过程。现在我想立即更新所有数据库中的过程体(例如,我想要替换“h.DATE&lt; _DATE”部分或整个体)。如何通过本机sql命令或者adminer(我在服务器上使用adminer)或者php脚本使用mysql来完成?

更新:首先我的想法 - 我将为100个数据库制作sql命令(复制/粘贴)并将这个巨大的命令复制到adminer并运行它。

1 个答案:

答案 0 :(得分:0)

如果您的数据库用户可以访问所有数据库,则可以创建PHP for循环

$conn = new mysqli ( '172.17.0.3', 'root', 'root', 'test');
for ( $i = 1; $i < 101; $i++ )  {
        if ($conn->query("CREATE DEFINER=`root`@`%` PROCEDURE `db$i`.`MY_OWN_PROC`(IN `_DATE` INT)
        NO SQL
    SELECT h.* 
FROM `my` h 
WHERE     
    h.DATE>=_DATE") === false )  {
            echo "error:".$conn->error;
        }
    }

这里的主要内容是db$iMY_OWN_PROC位,它将增量放入数据库名称。

您当然必须将正确的程序源放入代码和正确的数据库凭据中。