我最近在做一个小项目,我的一个 PHP 函数检查用户名是否存在并且它有效,但它读取了错误的表。我希望它读取 todo_users 并读取 users 表。这是我的代码:
连接.php
class Connect
{
public $sqlHost='MySQLHost';
public $sqlUser='MySQLUser';
public $sqlPass='MySQLPass';
public $sqlDB='MySQLDB';
public $tablePrefix='todo';
public function connect(){
return new mysqli($this->sqlHost, $this->sqlUser, $this->sqlPass, $this->sqlDB);
}
}
注意:出于明显的安全原因,我已经替换了 sql 变量。
功能:
public static function exists($username) {
$connect = new Connect();
$c = $connect->connect();
$t = $connect->tablePrefix."_users";
$stmt = $c->prepare("SELECT username FROM `".$t."` WHERE username = ?");
$stmt->bind_param("s", $username);
$stmt->execute();
$stmt->store_result();
$num_row = $stmt->num_rows;
$stmt->bind_result($result);
if($num_row === 0) {
return "false";
} else {
return "true";
}
$stmt->close();
$c->close();
}
checkuser.php 函数被调用的地方:
require_once("userfunc.php");
if(isset($_POST["user"]))
{
$username = $_POST["user"];
if(USERFUNC::exists($username)) {
echo "YES";
} else {
echo "NO";
}
}
编辑:我使用的版本是:PHP 版本 5.3.18 MySQL 版本 5.1.68
请帮忙。提前致谢。