欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

php mysql函数未定义,PHP MySQLi未定义的方法错误

发布时间:2023/11/27 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 php mysql函数未定义,PHP MySQLi未定义的方法错误 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

我使用MySQLi创建了一些基本的OO脚本,并且当我使用stmt_init(),prepare()或query()...时发生未定义的方法错误...并且connect_errno()出现错误。我知道在我的php.ini中启用了mysqli扩展(未注释),phpinfo()同时启用了mysqli和mysqlnd ...所以不知道为什么我无法访问方法/属性。我得到的错误是:

致命错误:调用未定义的方法mysqli :: connect_error()

class db {

public $host = 'localhost';

public $username = 'root';

public $password = '';

public $database = 'molecule';

public $mysqli = '';

function __construct() {

$this->mysqli = new mysqli($this->host, $this->username, $this->password, $this->database);

return $this->mysqli;

}

}

class nodeModel {

function __construct() {

$this->mysqli = new db;

if($this->mysqli->connect_error()){ printf("Database Connection failed: %s\n", $this->mysqli->connect_error()); }

}

function insertNode() {

$this->insert = $this->mysqli->stmt_init();

$this->insert->prepare("INSERT INTO node(node_name, node_link, node_comment) VALUES (?, ?, ?)");

$this->insert->bind_param($this->node_name, $this->node_link, $this->node_comment);

if($this->insert->execute()) {

$this->insert_id = $this->mysqli->insert_id;

}

$this->insert->close();

print_r($this->insert_id);

return $this->insert_id;

}

因此,要使insertNode()方法正常工作......这些是我放入nodeModel类的其他方法

public function setNodeName($value) { $this->nodeName = $value; }

public function setNodeLink($value) { $this->nodeLink = $value; }

public function setNodeComment($value) { $this->nodeComment = $value; }

public function getNodeName() { return $this->nodeName; }

public function getNodeLink() { return $this->nodeLink; }

public function getNodeComment() { return $this->nodeComment; }

public $insert_id;

function insertNode($nodeName, $nodeLink, $nodeComment) {

$this->mysqli->stmt_init();

$this->mysqli->prepare("INSERT INTO node(node_name, node_link, node_comment) VALUES (?, ?, ?)");

$this->mysqli->bind_param($this->node_name, $this->node_link, $this->node_comment);

if($this->mysqli->execute()) {

$this->insert_id = $this->mysqli->insert_id;

}

$this->mysqli->close();

print_r($this->insert_id);

return $this->insert_id;

}我如何将变量传递给方法?我正在尝试这个...

$connect = new db();

$db = new nodeModel($connect);

$db->setNodeName('My Node Title');

$db->setNodeLink('My Node Link');

$db->setNodeComment('My Node Comment. This one should be longer so I will write more stuff');

$db->insertNode($db->getNodeName(), $db->getNodeLink(), $db->getNodeComment());但这不起作用。我的困惑实际上是关于类方法内部的OO范围......我不确定我应该传递什么。

总结

以上是生活随笔为你收集整理的php mysql函数未定义,PHP MySQLi未定义的方法错误的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。