我的mysql连接有问题。我需要访问类中的连接。我该怎么做呢?即使我尝试在类中包含连接文件或连接变量$con0,它也没有值,因此我得到一个错误。
Connection.php
<?php
$username = " ";
$password = "";
$hostname = " ";
$con = mysql_connect()
?>model.php
<?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
发布于 2011-11-01 14:57:36
你遗漏了部分代码。我们根据错误消息知道这一点。这一行:
$res = mysql_query($q);在你的代码中可能看起来是这样的:
$res = mysql_query($q, $con);我说的对吗?如果是这样的话,问题是不能从该函数或类实例中访问$con。在您的情况下,修复此问题的最简单方法是简单地删除它。MySQL客户端将自动使用从您的脚本建立的最后一个连接。
实际上,您应该考虑一种不同的设计模式。无论如何,我经常只是将我的DB资源放在$GLOBALS['db']中。这不被认为是一种纯粹的OOP方式,但对于许多应用程序来说,它是合适的。
最后,$5表示您对SQL注入持开放态度。了解如何使用PDO执行准备好的查询,或者至少在有人窃取您的整个数据库并将havok带到您的站点之前对您的数据进行转义。
发布于 2011-11-01 15:08:28
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);https://stackoverflow.com/questions/7963193
复制相似问题