首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在类内调用db连接

问在类内调用db连接
EN

Stack Overflow用户
提问于 2011-11-01 14:32:45
回答 2查看 1.6K关注 0票数 0

我的mysql连接有问题。我需要访问类中的连接。我该怎么做呢?即使我尝试在类中包含连接文件或连接变量$con0,它也没有值,因此我得到一个错误。

Connection.php

代码语言:javascript
复制
<?php
$username = " ";
$password = "";
$hostname = " ";    
$con = mysql_connect()
?>

model.php

代码语言:javascript
复制
<?php

include(connection.php);
class model{

function needTheConnection($uid){
$q = "SELECT x from  DB.table WHERE id = '" . $uid . "'";
$res  = mysql_query($q);
}

}
?>

这给了我"mysql_query():提供的参数不是有效的MySQL-Link资源“。

怎么啦?

谢谢,tinks

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-01 14:57:36

你遗漏了部分代码。我们根据错误消息知道这一点。这一行:

代码语言:javascript
复制
$res  = mysql_query($q);

在你的代码中可能看起来是这样的:

代码语言:javascript
复制
$res  = mysql_query($q, $con);

我说的对吗?如果是这样的话,问题是不能从该函数或类实例中访问$con。在您的情况下,修复此问题的最简单方法是简单地删除它。MySQL客户端将自动使用从您的脚本建立的最后一个连接。

实际上,您应该考虑一种不同的设计模式。无论如何,我经常只是将我的DB资源放在$GLOBALS['db']中。这不被认为是一种纯粹的OOP方式,但对于许多应用程序来说,它是合适的。

最后,$5表示您对SQL注入持开放态度。了解如何使用PDO执行准备好的查询,或者至少在有人窃取您的整个数据库并将havok带到您的站点之前对您的数据进行转义。

票数 4
EN

Stack Overflow用户

发布于 2011-11-01 15:08:28

代码语言:javascript
复制
class model { 
  function __construct(&$db) {
    $this->db=$db;
  }
  function needTheConnection($uid){ 
    $q = "SELECT x from DB.table"; 
    $res  = mysql_query($q,$this->db); 
  } 
}

$model = new model($conn);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7963193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档