gpt4 book ai didi

php - 在定义时调用未定义的函数 query()

转载 作者:太空宇宙 更新时间:2023-11-03 12:13:37 26 4
gpt4 key购买 nike

我已经搜索过类似的问题,但找不到答案,虽然我是初学者,所以可能错过了。

我正在尝试调用 review_create() 函数 我已经包含了包含此函数的 reviews.php。但是,我收到错误

Fatal error: Call to undefined function query() in C:\xampp\htdocs\cafe\review.php

user_pages.php 的 PHP:

<?php
require_once 'review.php';
require_once 'cafe.php';
require_once 'logged_in.php';

$RATING_MAP = array('5' => 'Excellent', '4' => 'Good', '3' => 'Ok', '2' => 'Bad', '1' => 'Awful', '0' => '---');
$error = array();//holds multiple errors
$id = $rating = $review = $action = '';
$self = $_SERVER['PHP_SELF'];

if (isset($_REQUEST['action'])) {
$action = $_REQUEST['action'];
}

if ($action == 'delete') {
if (isset($_REQUEST['id'])) {
review_delete($_REQUEST['id'], $error);
} else {
$error[count($error)] = "Cannot delete the review, missing ID!";
}
}

elseif ($action == 'create') {
if ((isset($_REQUEST['rating']))
&& (isset($_REQUEST['review'])
&& (isset($_REQUEST['review_cafe'])))) {
$rating = $_REQUEST['rating'];
$review = $_REQUEST['review'];
$review_cafe = $_REQUEST['review_cafe'];
if ($rating == '---' or $review == '' or $review_cafe == '') {
$error[count($error)] = "You must provide a cafe, rating and review!";
} else {
review_create($review_cafe, $rating, $review, $error);
}
}
else {
$error[count($error)] = "Unable to create review, missing parameters!";
}
}
?>

reviews.php 的 PHP:

<?php
require_once "sql.php";

function review_create($review_cafe, $rating, $review, &$error) {
$query = "INSERT INTO Reviews (cafe, rating, review) VALUES (". "'$review_cafe', $rating, '$review');";
$success = query($query, $error);
return $success;

}
?>

这里是 sql.php,其中定义了 $query:

<?php //sql.php
require_once "sql_constants.php";

class Sql {

private static $connection = false;
private static $error; // holds the last error.

static function getConnection() {
if (!Sql::$connection) {
Sql::setConnection(mysqli_connect(SQLHOST, SQLUSER, SQLPASSWORD, HOSTDB));
if (!Sql::$connection) {
Sql::setConnection(false);
Sql::setError("Could not connect...");
}
}
return Sql::$connection;
}

private static function setConnection($iConnection) {
Sql::$connection = $iConnection;
}

private static function setError($iError) {
Sql::$error = $iError;
}

static function getError() {
return Sql::$error;
}

static function query($query) {
$result = false;
Sql::setError(false); // reset the error
if ($link = Sql::getConnection()) {
$result = mysqli_query($link, $query);
if (!$result)
Sql::setError(mysqli_error($link));

}
return $result;
}

static function getInsertID() {
// Returns the last id automatically inserted into the
// database.
return mysqli_insert_id(Sql::getConnection());
}

}
?>

干杯詹姆斯

最佳答案

避免使用mysql,使用 mysqli_而是更新您的代码以使用 mysqli_query 代替 query(那是错误!!)

简单地做:

return (mysqli_query( $conn, $query  )); //$conn is connection object


或者,如果您对结果有疑问,请使用 mysqli_error()

    $success = mysqli_query($con, $query);

if ( $success === false)
{
printf("Error is : ", mysqli_error($con));
}
else
{
return ($success);
}

关于php - 在定义时调用未定义的函数 query(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23152511/

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