[英]Trying to use function without second parameter
我一直在尝试使用一个函数而未声明其第二个参数,但是它似乎不起作用。 我做错了什么?
我还尝试声明没有第二个参数$db->DoQuery($query, null);
的函数$db->DoQuery($query, null);
结果相同。
<?php
include($directory . "classes/database.php");
$db = new database;
$db->initiate();
include("../includes/core.php");
$query = "SELECT * FROM services";
$db->DoQuery($query, null);
$num = $db->fetchAll();
print_r($num);
?>
下面是数据库类。
<?php
class database {
public function initiate() {
$user = "user";
$password = "pass";
$hostname = "localhost";
$dbn = "dbt";
try
{
$this->database = new PDO("mysql:host={$hostname};dbname={$dbn}", $user, $password);
}
catch(PDOException $e)
{
$error = "I'm unable to connect to the database server.";
die("Failed to connect to database: " . $e->getMessage());
}
$this->database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
public function DoQuery($query, $query_params) {
try
{
$this->result = $this->database->prepare($query);
if ($query_params != null)
{
$this->result->execute($query_params);
}
else
{
$this->result->execute();
}
}
catch(PDOException $e)
{
die();
}
}
// A function to fetch a single row from the query
public function fetch() {
return $this->result->fetch();
}
// A function to fetch multiple rows from the query
public function fetchAll() {
return $this->result->fetchAll();
}
// A function to fetch number of rows from the query
public function RowCount() {
return $this->result->RowCount();
}
}
?>
数据库类的变化
public function DoQuery($query, $query_params = null) {
没有第二个参数的调用
$db->DoQuery($query);
用第二个参数调用
$db->DoQuery($query, null);
将第二个参数设置为array()
public function DoQuery($query, $query_params = array()) {
try
{
$this->result = $this->database->prepare($query);
$this->result->execute($query_params);
}
catch(PDOException $e)
{
die();
}
}
然后,如果您不想传递任何查询参数,则只需省略第二个参数。
$db->DoQuery($query);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.