Cev*_*vil 6 php mysql sql mysqli class
所以我正在尝试创建一个可用于连接mysql数据库的类.在尝试使用我的课程之前,不应该先进,这一切都很有趣和游戏.这是我的代码:
班级:
<?php
class createCon {
var $host = 'localhost';
var $user = 'root';
var $pass = '';
var $db = 'example';
var $myconn;
function connect() {
$con = mysqli_connect($this->host, $this->user, $this->pass, $this->db);
if (!$con) {
die('Could not connect to database!');
} else {
$this->myconn = $con;
echo 'Connection established!';}
return $this->myconn;
}
function close() {
mysqli_close($myconn);
echo 'Connection closed!';
}
}
?>
Run Code Online (Sandbox Code Playgroud)
这是我尝试查询数据库的地方:
<?php
include 'connect.php';
$connection = new createCon();
$connection->connect();
$query = 'SELECT * FROM `nickname`';
$result = mysqli_query($connection, $query);
if($numrows = mysqli_num_rows($result)) {
echo $numrows;
while ($row = mysqli_fetch_assoc($result)) {
$dbusername = $row['nick'];
$dbpassword = $row['pass'];
echo $dbusername;
echo $dbpassword;
}}
?>
Run Code Online (Sandbox Code Playgroud)
当我尝试进行查询时出现以下错误:
( ! ) Warning: mysqli_query() expects parameter 1 to be mysqli, object given in C:\wamp\www\uppgift 1 kompletering\test.php on line 13
( ! ) Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in C:\wamp\www\uppgift 1 kompletering\test.php on line 15
Run Code Online (Sandbox Code Playgroud)
我想我有点理解为什么我会得到错误,但我不知道如何修复它.尝试了一百万件事,没有任何作品.我是OOP和php的新手,会非常喜欢一些建议!
jam*_*rty 10
你想传入$connection->myconn而不是$connection.如:
$result = mysqli_query($connection->myconn, $query);
Run Code Online (Sandbox Code Playgroud)
就目前而言,你传递的是一个类的实例,而不是一个mysqli,这就是错误消息所抱怨的内容.
在数据库连接类中,您返回连接.在php类中,你必须捕获该连接变量
$connection = new createCon();
$conn = connection->connect();
Run Code Online (Sandbox Code Playgroud)
您可以将该$conn变量用作mysqli_query()参数
$result = mysqli_query($conn, $query);
这对我有用.
| 归档时间: |
|
| 查看次数: |
26296 次 |
| 最近记录: |