首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将MySQL链接传递给类方法

问将MySQL链接传递给类方法
EN

Stack Overflow用户
提问于 2009-07-25 08:24:23
回答 4查看 1.5K关注 0票数 1

这就是我的问题,我有一个带有ave方法的类,我想向它传递一个Mysql DB链接,所以我从这个类创建了一个新对象,并调用了saveProperty方法,然后在我的主文件中创建了一个MySQL连接,并将该链接保存在一个名为$db的变量中,所以当我调用该方法时,它的链接是这样的: saveProperty($db)。

但是在保存数据时,我得到了一个错误:

警告: mysql_select_db():提供的参数不是C:\wamp\www\aqaria\classes\property.php第75行中的有效MySQL-Link资源

警告: mysql_query():提供的参数不是C:\wamp\www\aqaria\classes\property.php第99行中的有效MySQL-Link资源

这意味着我没有通过正确的链接?但是怎么做呢?

下面是我的一些代码:

代码语言:javascript
复制
<?php

  class test 
  {




    function saveProperty($db)
    {

        $sql = "<<query goes here>>" 

        mysql_query($sql,$db);

        if(mysql_affected_rows()>0)
        echo "<h3>Data was saved</h3>";
        else
        echo "<h3>Error saving data</h3>";

    }


  }

下面是调用代码:

代码语言:javascript
复制
$db = mysql_connect('localhost','root',''); 
mysql_select_db("aqaria",$db); 
$property = new Property(); 
$property->saveProperty($db);

尽管如果我将gloabl关键字添加到类的方法中就可以了,但我想知道是否可以将链接传递给数据库连接?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-07-25 16:18:02

你有没有试过参考资料?

此外,您可能希望在mysql_affected_rows()中使用$db

代码语言:javascript
复制
function saveProperty(&$db)
{

    $sql = "<<query goes here>>" 

    mysql_query($sql,$db);

    if(mysql_affected_rows($db)>0)
    echo "<h3>Data was saved</h3>";
    else
    echo "<h3>Error saving data</h3>";

}
票数 0
EN

Stack Overflow用户

发布于 2009-07-25 10:48:50

毫无疑问,在方法中传递db_links是可能的。

警告: mysql_select_db():提供的参数不是C:\wamp\www\aqaria\classes\property.php第75行中的有效MySQL-Link资源

使用mysql_error()检查数据库凭据和输出

票数 1
EN

Stack Overflow用户

发布于 2009-07-25 08:40:18

您的函数中没有数据库对象。

在顶部添加以下内容:

代码语言:javascript
复制
global $db;

Edit:要将其传递到您的函数中,您可以这样做:

代码语言:javascript
复制
$db = mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db("aqaria", $db) or die(mysql_error());

agar_add_offer($someDataFromSomewhere, $db);

function aqar_add_offer($data, $db)
{
    $property = new Property();

    //do some data manipulation

    $property->saveProperty($db);
} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1181591

复制
相关文章

相似问题

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