2番目のクエリが機能せず、2番目のクエリの情報を別のテーブルからエコーしようとしましたが、次のメッセージが表示されます。
Undefined property: stdClass::$titulo
(および残りの "resultado2" )
は、私が最初のクエリのようにしばらくを実行しようとしました(しばらく($ nfila = $ resultado2-> fetch_object()))が、別のエラーメッセージ表示されない:あなたがしている
Trying to get property of non-object
PHP。未定義のプロパティ:double queryのstdClass
<?php
$usuario = $_SESSION['usuario_valido'];
$consulta = "SELECT * FROM `lista-usuarios` WHERE categoria='favoritos' AND nombreusuario='$usuario' ORDER BY pelicula ASC";
$resultado = $conexion->query($consulta);
if ($resultado)
{
$cont3 = 1; //Para el id de la peli
$i = 0; //Para un class unico
while ($nfila = $resultado->fetch_object())
{
$pelicula = "peli" . $cont3; //Para hacer un id unico de cada pelicula
$i++;
echo "<form role='form' id='$pelicula'><table class='table table-striped'>";
echo "
<tr>
<td>" . $cont3 . "</td>
<td class='celda2'>" . $nfila->pelicula . "</td>
<td class='celda2'>" . $nfila->anio . "</td>
<td class='celda2'><button type='button' class='infoCompleta btn btn-default' data-toggle='modal'data-target='.modal" . $i . "'><span class='glyphicon glyphicon-hand-right'></span> Info Completa</button></td><td class='celda2'><button type='button' class='eliminarFav1 btn btn-danger'><span class='glyphicon glyphicon-remove-sign'> </span> Favoritos</button></td>
</tr>";
$consulta2 = "SELECT * FROM `peliculas` WHERE titulo='$nfila->pelicula'";
$resultado2 = $conexion->query($consulta2);
if ($resultado2)
{
echo "
<div class='modal fade bs-example-modal-lg modal" . $i . "' tabindex='-1' role='dialog' aria-labelledby='myLargeModalLabel'>
<div class='modal-dialog modal-lg'>
<div class='modal-content'>
<div class='modal-header'>
<button tyle='button' class='close' data-dismiss='modal' aria-hidden='true'>×</button>
<h4 class='modal-tigle'>" . $nfila->titulo . "</h4>
</div>
<div class='modal-body'>
<center><a target='_blank' href='imagenes/" . $nfila->imagen . "'>
<img class='img-top-peliculas' src='imagenes/" . $nfila->imagen . "' class='img-rounded '></a>
</center><br />
<p><strong>Titulo Original: </strong>" . $nfila->tituloOriginal . "</p>
<p><strong>Año: </strong>" . $nfila->anio . "</p>
<p><strong>Duracion: </strong>" . $nfila->duracion . " min.</p>
<p><strong>País: </strong>" . $nfila->pais . "</p>
<p><strong>Director: </strong>" . $nfila->director . "</p>
<p><strong>Reparto: </strong>" . $nfila->reparto . "</p>
<p><strong>Género: </strong>" . $nfila->genero . "</p>
<p><strong>Sinopsis: </strong>" . $nfila->sinopsis . "</p>
</div>
<div class='modal-footer'>
<button type='button' class='btn btn-default' data-dismiss='modal'>Cerrar</button>
</div>
</div>
</div>
</div>";
}
echo "<input name='usuario' type='hidden' value='$usuario'>";
echo "<input name='titulo' type='hidden' value='$nfila->pelicula'>";
echo "<input name='anio' type='hidden' value='$nfila->anio'>";
echo "<input name='categoria' type='hidden' value='categoria' class='cat'>";
echo "</table></form>";
$cont3++;
}
echo "<span class='datos'></span>";
}
else
{
echo "Hubo un problema al cargar las peliculas";
}
はどうもありがとうございましたあなたは
$nfila['pelicula']
に$nfila->pelicula
refernecesを変換してくださいしかし、
fetch_all
はオブジェクトのみ、mysqliのでは配列ではなく返すこと私は別の質問をしたいと思います。誰かが私に言った: " ループはn個のクエリが実行されるので、これはアプリケーションのパフォーマンスに影響を与えます。これを行うには良い方法ですか?それとも私はそうしなければならないのですか? – SilverSurfer2番目のテーブルのキーとして '$ nfila-> pelicula'を使用しているので、これは1つの結合クエリで行います。また、同じ接続で2つのアクティブなクエリを実行することができますので、少なくとも最初のクエリ結果に対してfetch_all()を実行し、提供する配列を繰り返します。 – Ray
[OK]を、しかし、あなたは私のように問題があると思いますか? – SilverSurfer