pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

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

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

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

      1. 調(diào)用非對(duì)象 PHP 幫助上的成員函數(shù) prepare()

        Call to a member function prepare() on a non-object PHP Help(調(diào)用非對(duì)象 PHP 幫助上的成員函數(shù) prepare())
      2. <tfoot id='LltHf'></tfoot>

                <tbody id='LltHf'></tbody>

              <legend id='LltHf'><style id='LltHf'><dir id='LltHf'><q id='LltHf'></q></dir></style></legend>
                <bdo id='LltHf'></bdo><ul id='LltHf'></ul>
                • <small id='LltHf'></small><noframes id='LltHf'>

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

                  本文介紹了調(diào)用非對(duì)象 PHP 幫助上的成員函數(shù) prepare()的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                  問題描述

                  我正在嘗試編寫一個(gè) PHP 函數(shù).這很簡單.這只是一個(gè)查詢數(shù)據(jù)庫的準(zhǔn)備好的語句,但我無法讓它工作.我不斷收到錯(cuò)誤 Call to a member function prepare() 在非對(duì)象上.這是代碼:

                  I am trying to write a PHP function. It is very simple. It is just a prepared statement that queries the database, but I can not get this to work. I keep recieving the error Call to a member function prepare() on a non-object. here is the code:

                  $DBH = new mysqli("host", "test", "123456", "dbname");
                  function selectInfo($limit, $offset){
                      $stmt = $DBH->prepare("SELECT * FROM information LIMIT ?,?");
                      $stmt->bind_param("ii", $limit, $offset);
                      $stmt->execute();
                      }
                  selectInfo();
                  

                  每當(dāng)我調(diào)用該函數(shù)時(shí),我都會(huì)收到該錯(cuò)誤.有人可以幫忙嗎?

                  Any time I call the function i get that error. Can someone please help?

                  推薦答案

                  這是一個(gè)范圍錯(cuò)誤.您正在使 $DBH 成為一個(gè)全局變量.所以當(dāng)你進(jìn)入函數(shù)時(shí),全局變量是不可用的.您有 5 種實(shí)??際選擇.

                  It's a scoping error. You're making $DBH a global variable. So when you enter the function, the global variable is not available. You have 5 real options.

                  1.使用全局關(guān)鍵字

                  function doSomething() {
                      global $DBH;
                      //...
                  

                  這不是一個(gè)好主意,因?yàn)樗咕S護(hù)和測試成為 PITA.想象一下嘗試調(diào)試該函數(shù)調(diào)用.您現(xiàn)在需要找出 $DBH 的定義位置,以嘗試弄清楚發(fā)生了什么......

                  This is not a good idea, since it makes maintenance and testing a PITA. Imagine trying to debug that function call. You now need to go find out where $DBH is defined to try to figure out what's going on...

                  2.將 $DBH 作為函數(shù)的參數(shù)

                  2. Make $DBH a parameter to the function

                  function doSomething(MySQLi $DBH) {
                  

                  它的優(yōu)點(diǎn)是明確.但這仍然不是很好,因?yàn)檎{(diào)用代碼需要跟蹤全局變量.

                  It has the advantage of being explicit. But it's still not great since the calling code then needs to keep track of the global variable.

                  3.創(chuàng)建一個(gè)函數(shù)來獲取"$DBH 對(duì)象

                  3. Create a function to "get" the $DBH object

                  function getDBH() {
                      static $DBH = null;
                      if (is_null($DBH)) {
                          $DBH = new mysqli(...);
                      }
                      return $DBH;
                  }
                  
                  function doSomething() {
                      $DBH = getDBH();
                  }
                  

                  這樣做的好處是完全解決了全局變量問題.但是也很難有多個(gè)連接或?qū)⑷魏未a重用于其他連接.

                  This has the advantage of getting around the global variable problem completely. But it's also hard to have multiple connections or re-use any of the code for other connections.

                  4.創(chuàng)建一個(gè)類來包裝數(shù)據(jù)庫訪問

                  class Database {
                      public function __construct($host, $user, $pass) {
                          $this->DBH = new MySQli($host, $user, $pass);
                      }
                      public function doSOmething() {
                          $this->DBH->foo();
                      }
                  }
                  

                  這為您封裝了所有內(nèi)容.所有數(shù)據(jù)庫訪問都將通過一個(gè)類進(jìn)行,因此您無需擔(dān)心全局變量訪問或其他任何事情.

                  This encapsulates everything for you. All database access will go through a single class, so you don't need to worry about global variable access or anything else.

                  5.使用預(yù)先構(gòu)建的類/框架

                  這是最好的選擇,因?yàn)槟鸁o需擔(dān)心自己動(dòng)手.

                  This is the best option, since you don't need to worry about doing it yourself.

                  數(shù)據(jù)庫訪問類:

                  • 快速谷歌搜索以幫助您入門
                  • Doctrine ORM - 具有完整 ORM(對(duì)象映射)的完整數(shù)據(jù)庫訪問庫
                  • ADODB - 一個(gè)與數(shù)據(jù)庫無關(guān)的數(shù)據(jù)庫訪問庫
                  • Pear MDB2 - 另一個(gè)數(shù)據(jù)庫訪問庫
                  • A quick google search to get you started
                  • Doctrine ORM - A complete database access library with full ORM (Object Mapping)
                  • ADODB - A database agnostic database access library
                  • Pear MDB2 - Another database access library

                  完整框架:

                  • Zend 框架
                  • 鋰框架
                  • 代碼點(diǎn)火器
                  • (真的還有很多,我不打算再列出來了,因?yàn)槟鞘橇硪粋€(gè)問題……)

                  真的,選擇是無窮無盡的.找到你喜歡的東西,并堅(jiān)持下去.它真的會(huì)讓你的生活更輕松......

                  Really, the choices are endless. Find something you like, and stick with it. It really will make your life easier...

                  這篇關(guān)于調(diào)用非對(duì)象 PHP 幫助上的成員函數(shù) prepare()的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

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

                  相關(guān)文檔推薦

                  store_result() and get_result() in mysql returns false(mysql 中的 store_result() 和 get_result() 返回 false)
                  Call to undefined function mysqli_result::num_rows()(調(diào)用未定義的函數(shù) mysqli_result::num_rows())
                  PHP Prepared Statement Problems(PHP 準(zhǔn)備好的語句問題)
                  mysqli_fetch_array returning only one result(mysqli_fetch_array 只返回一個(gè)結(jié)果)
                  PHP MySQLi Multiple Inserts(PHP MySQLi 多次插入)
                  How do I make sure that values from MySQL keep their type in PHP?(如何確保 MySQL 中的值在 PHP 中保持其類型?)
                  • <tfoot id='QBTYj'></tfoot>

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

                          <tbody id='QBTYj'></tbody>

                          <legend id='QBTYj'><style id='QBTYj'><dir id='QBTYj'><q id='QBTYj'></q></dir></style></legend>
                          • <bdo id='QBTYj'></bdo><ul id='QBTYj'></ul>

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

                            主站蜘蛛池模板: 非小号行情 - 专业的区块链、数字藏品行情APP、金色财经官网 | 气象监测系统_气象传感器_微型气象仪_气象环境监测仪-山东风途物联网 | 实验室隔膜泵-无油防腐蚀隔膜泵-耐腐蚀隔膜真空泵-杭州景程仪器 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 协议书_协议合同格式模板范本大全 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 学考网学历中心| 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | 精准猎取科技资讯,高效阅读科技新闻_科技猎 | 拉卡拉POS机官网 - 官方直营POS机办理|在线免费领取 | 滚筒烘干机_转筒烘干机_滚筒干燥机_转筒干燥机_回转烘干机_回转干燥机-设备生产厂家 | 筒瓦厂家-仿古瓦-寺庙-古建琉璃瓦-宜兴市古典园林建筑陶瓷厂有限公司 | 淋巴细胞分离液_口腔医疗器材-精欣华医疗器械(无锡)有限公司 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 转子泵_凸轮泵_凸轮转子泵厂家-青岛罗德通用机械设备有限公司 | 陕西高职单招-陕西高职分类考试网| led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 浙江富广阀门有限公司| 天津蒸汽/热水锅炉-电锅炉安装维修直销厂家-天津鑫淼暖通设备有限公司 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | 河南15年专业网站建设制作设计,做网站就找郑州启凡网络公司 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 干式磁选机_湿式磁选机_粉体除铁器-潍坊国铭矿山设备有限公司 | 电销卡 防封电销卡 不封号电销卡 电话销售卡 白名单电销卡 电销系统 外呼系统 | 无轨电动平车_轨道平车_蓄电池电动平车★尽在新乡百特智能转运设备有限公司 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 电缆隧道在线监测-智慧配电站房-升压站在线监测-江苏久创电气科技有限公司 | 专业深孔加工_东莞深孔钻加工_东莞深孔钻_东莞深孔加工_模具深孔钻加工厂-东莞市超耀实业有限公司 | 深圳展厅设计_企业展馆设计_展厅设计公司_数字展厅设计_深圳百艺堂 | 有源电力滤波装置-电力有源滤波器-低压穿排电流互感器|安科瑞 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 飞飞影视_热门电影在线观看_影视大全 | 球盟会·(中国)官方网站 | 净化车间装修_合肥厂房无尘室设计_合肥工厂洁净工程装修公司-安徽盛世和居装饰 | 换网器_自动换网器_液压换网器--郑州海科熔体泵有限公司 | 微型气泵-真空-蠕动-水泵-厂家-深圳市品亚科技有限公司 | 仿真植物|仿真树|仿真花|假树|植物墙 - 广州天昆仿真植物有限公司 | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 首页-恒温恒湿试验箱_恒温恒湿箱_高低温试验箱_高低温交变湿热试验箱_苏州正合 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 |