这就是我的问题,我有一个带有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资源
这意味着我没有通过正确的链接?但是怎么做呢?
下面是我的一些代码:
<?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>";
}
}下面是调用代码:
$db = mysql_connect('localhost','root','');
mysql_select_db("aqaria",$db);
$property = new Property();
$property->saveProperty($db);尽管如果我将gloabl关键字添加到类的方法中就可以了,但我想知道是否可以将链接传递给数据库连接?
发布于 2009-07-25 16:18:02
你有没有试过参考资料?
此外,您可能希望在mysql_affected_rows()中使用$db
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>";
}发布于 2009-07-25 10:48:50
毫无疑问,在方法中传递db_links是可能的。
警告: mysql_select_db():提供的参数不是C:\wamp\www\aqaria\classes\property.php第75行中的有效MySQL-Link资源
使用mysql_error()检查数据库凭据和输出
发布于 2009-07-25 08:40:18
您的函数中没有数据库对象。
在顶部添加以下内容:
global $db;Edit:要将其传递到您的函数中,您可以这样做:
$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);
} https://stackoverflow.com/questions/1181591
复制相似问题