gpt4 book ai didi

php - 函数返回 bool 值而不是字符串

转载 作者:行者123 更新时间:2023-11-29 12:46:44 26 4
gpt4 key购买 nike

我想要的是在数组中返回 MYSQL 查询,但是我的代码返回 bool(true)。
这是code.php中的代码

require('model.php');

$id = $_POST['id'];
$password = $_POST['password'];

$user = new user();

$row = $user->check_user($id, $password);
var_dump($row);

这是 model.php 中的代码

class config {

public $dbhost = "localhost";
public $dbuser = "root";
public $dbpass = "";
public $dbused = "dbname";

function dbconn() {

$conn = mysqli_connect($this->dbhost,$this->dbuser,$this->dbpass,$this->dbused);

if(mysqli_connect_errno()) {

printf("Connection failed: " . mysqli_connect_error());
exit();

}

return $conn;

}

}

class user {

function check_user($id, $pass) {

$config = new config();

$conn = $config->dbconn();

$query = $conn->prepare("SELECT id, password, status FROM e_users WHERE id = ? AND password = ?");

$query->bind_param('is', $id, $pass);

try {

$query->execute();

return $query->fetch();

} catch(PDOException $e) {

die($e->getMessage());

}

}

}

我认为问题出在 $query->fetch(); 中,因为我尝试 return 'test'; 并且它工作正常。即使返回一个数组也可以正常工作。

有人可以帮助我吗?

最佳答案

正如 Blue Dog 所指出的,fetch() 返回一个状态标志,而不是行本身。但是 fetch_assoc() 将返回一行。

看这里:

http://php.net/manual/en/mysqli-stmt.fetch.php

如果您使用fetch,则需要绑定(bind)变量:

$stmt->bind_result($mySelectedValue_1, $mySelectedValue_2);

以下是 fetch_assoc() 的示例:

http://php.net/manual/de/mysqli.quickstart.prepared-statements.php

所以这应该可以正常工作:

$row = $res->fetch_assoc();

关于php - 函数返回 bool 值而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25329326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com