![](/img/trans.png)
[英]Getting Fatal error: Call to a member function query() on a non-object in C:\wamp\www\quotes\paginator.php on line 32
[英]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.