【发布时间】:2014-12-18 10:01:31
【问题描述】:
由于某些原因,代码完成担心原生 php 代码,例如 bind_param()、prepare() 和 execute()。我收到此警告:在课堂上找不到方法“bind_param”。有什么问题?
if ($this->comparePassword ( $password, $confirmPass )) {
// Generating password hash
$password_hash = PassHash::hash ( $password );
// insert query
$stmt = $this->conn->prepare ( "INSERT INTO seeker(first_name, last_name, email, password, parish) values(?, ?, ?, ?, ?)" );
$stmt->bind_param ( "sssss", $fName, $lName, $email, $password_hash, $parish );
$result = $stmt->execute ();
$stmt->close ();
// Check for successful insertion
if ($result) {
// User successfully inserted
return USER_CREATED_SUCCESSFULLY;
} else {
// Failed to create user
return USER_CREATE_FAILED;
}
} else {
return PASSWORDS_DO_NOT_MATCH;
}
} else {
// User with same email already existed in the db
return USER_ALREADY_EXISTED;
}
这是自定义类的代码
class DbConnect {
private $conn;
function __construct() {
}
/**
* Establishing database connection
* @return database connection handler
*/
function connect() {
include_once dirname(__FILE__) . './Config.php';
// Connecting to mysql database
$this->conn = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME); //EDIT TO BE PDO
// Check for database connection error
if (mysqli_connect_errno()) { //EDIT TO BE PDO
echo "Failed to connect to MySQL: " . mysqli_connect_error(); //EDIT TO BE PDO
}
// returning connection resource
return $this->conn;
}
}
【问题讨论】:
-
代码工作正常,但由于某种原因代码完成无法正常工作。它适用于其他所有东西,例如 zend、sublime 等。
-
你看到我上面给你的链接了吗?
-
不是应该从解释器中获取原生的php方法吗?
-
已经阅读它只会告诉编辑器不要将其显示为警告。它不会使 php 方法的自动完成工作