php - MySQL Wrapper 和获取行

标签 php mysql wrapper

我在 http://www.phpclasses.org/browse/file/24355.html 找到了简单的数据库包装器但我无法获取行

<?php

class DBConnect
{

  static public  $HOST; 

  static public  $USER;

  static public  $PASS;

  static public  $BASE;

  static private $LINK = -1;

  public function Prepare($h,$u,$p,$b)
  {

    self::setHost($h);
    self::setUser($u);
    self::setPass($p);
    self::setBase($b);
  }

  public function setHost($h)  { self::$HOST = $h; }

  public function setUser($u)  { self::$USER = $u; }

  public function setPass($p)  { self::$PASS = $p; }

  public function setBase($b)  { self::$BASE = $b; }

  private function setLink($l) { self::$LINK = $l; }

  public function getHost() { return self::$HOST; }

  public function getUser() { return self::$USER; }

  public function getPass() { return self::$PASS; }

  public function getBase() { return self::$BASE; }


  public function getLink()
  {

    if( self::$LINK != -1 )
    {
      return self::$LINK;
    }
    else
    {
      try
      {
        $link = mysql_connect(self::getHost(),self::getUser(),self::getPass());
        self::setLink($link);
      }
      catch(Exception $e)
      {
        echo "Could not establish a link to the specified database.\n" . $e->getMessage();
        self::setLink(-1);
      }
      return self::$LINK;
    }
  }


  public function SelectDb($db='')
  {

    try
    {
      if( $db == '' )
        mysql_select_db(self::getBase(),self::getLink());
      else
        mysql_select_db($db,self::getLink());
    }
    catch(Exception $e)
    {
      echo "Could not select the specified database '$db'.\n" . $e->getMessage();
    }
  }

  public function Select($q)
  {

    try
    {
      $result = mysql_query($q,self::getLink());
      if( is_resource($result) )
        return $result;
    }
    catch(Exception $e)
    {
      echo "Could not query datasource.\n" . $e->getMessage();
    }
    return 0;
  }

  public function Insert($q)
  {

    try
    {
      mysql_query($q,self::getLink());
      return mysql_insert_id(self::getLink());
    }
    catch( Exception $e )
    {
      echo "Bad insert: " . $e->getMessage();
      return -1;
    }
  }

  public function Update($q)
  {

    return mysql_query($q,self::getLink());
  }

  public function Delete($q)
  {

    return mysql_query($q,self::getLink());
  }

  public function getRow($r)
  {

    if( is_resource($r) ) return mysql_fetch_assoc($r);
    return null;
  }

  public function Close()
  {

    if( is_resource(self::$LINK) ) mysql_close(self::$LINK);
  }

  public function Escape($s)
  {

    return mysql_real_escape_string($s,self::$LINK);
  }

}

下面是获取行的代码:

包含'DBConnect.php';

DBConnect::Prepare("127.0.0.1","myUser","myPass","mySchema");

$mysql_result = DBConnect::Select("SELECT * FROM myTable");
while($row = DBConnect::getRow($mysql_result)){

echo $row[id];

}

最佳答案

你首先需要SelectDb

关于php - MySQL Wrapper 和获取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4124057/

相关文章:

php - 如何清除ul和li的底部空间

MySQL - 对列中逗号分隔的字符串进行排序

c# - 如何禁止在 C# 中复制公共(public)字段或属性

mysql - 列出一列中不相同的值的 SQL 查询

mysql - 在mysql表中查找最小未使用值

javascript - 调整浏览器大小时页面内容(按钮、图像等)消失

c# - 使用 CLR C++ 包装器从 C# 应用程序在 C++ 中加载 SDL 窗口不起作用

PHP 从某个日期(带时间)获取下一个星期一

php - codeigniter 中的远程数据库连接

php - Yii2 中的动态表名