簡體   English   中英

致命錯誤:在第 72 行調用 C:\\wamp\\www\\test\\functions.php 中非對象的成員函數 fetchAll()

[英]Fatal error: Call to a member function fetchAll() on a non-object in C:\wamp\www\test\functions.php on line 72

我試圖運行我的查詢,但每次我嘗試運行它時,它都會給我這種錯誤:調用非對象上的成員函數 fetchAll()。

這是我的代碼:

單.php:

<?php
require 'admin/config.php';
require 'functions.php';

$conexion = conexion($db_config);
$url_canal = url_canal($_GET['url']);

if (!$conexion) {
    header('Location: error.php');
}

if (empty($url_canal)) {
    header('Location: index.php');
}

$canal = obtener_canal_por_url($url_canal, $conexion);

if(!$canal) {
    header('Location: index.php');
}

$canal = $canal[0];

require 'views/single.view.php';

?>

函數.php:

function limpiarDatos($datos) {
    $datos = trim($datos);
    $datos = stripslashes($datos);
    $datos = htmlspecialchars($datos);
    return $datos;
}
function url_canal($url) {
    return limpiarDatos($url);
}

function obtener_canal_por_url($url, $conexion) {
    $resultado = $conexion->query("SELECT * FROM canales WHERE url = $url LIMIT 1");
    $resultado = $resultado->fetchAll();
    return ($resultado) ? $resultado : false;
}

你能幫我解決這個問題嗎? 我想知道我的錯誤在哪里。 謝謝

康康:

function conexion($db_config) {
try {
    $conexion = new PDO('mysql:host=localhost;dbname='. $db_config['bd'], $db_config['usuario'], $db_config['pass']);
    return $conexion;
} catch (PDOException $e) {
    return false;
}

}

將您的查詢替換為

$resultado = $conexion->query("SELECT * FROM canales WHERE url = '$url' LIMIT 1");

檢查您的查詢(我猜 url 是一個字符串):

$resultado = $conexion->query("SELECT * FROM canales WHERE url = '" . $url . "' LIMIT 1");

然后在fetchAll()之前檢查$resultado

if ($resultado) {
    $rows = $resultado->fetchAll();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM