Erreur: mysqli_fetch_object() s'attend à ce paramètre 1 pour être mysqli_result
Je ne sais pas quel est le problème avec cette ligne ou comment résoudre le problème, avant allait bien et maintenant j'ai cette erreur:
mysqli_fetch_object() s'attend à ce paramètre 1 pour être mysqli_result
Voici mon code PHP:
<?php
}
if($_GET['action']=="user_info")
{
$userid = $_GET['user_id'];
$query = "SELECT * FROM user WHERE user_id ='{$userid}'";
$result = mysqli_query($link, $query);
$user = mysqli_fetch_object($result);
$queryt = "SELECT * FROM user_title WHERE id='".$user->title."'";
$resultt = mysqli_query($link, $queryt);
$rowt = mysqli_fetch_object($resultt);
$title = $rowt->name;
$sorgu = "select * from pub_author where user_id='$userid'";
$publications = mysqli_query($link, $sorgu);
while($a = mysqli_fetch_object($publications))
{
$ids .= $a->pub_id . ',';
}
$ids = rtrim($ids,",");
$sorgu2 = "select count(id) as total , year from publication where id IN ($ids)
GROUP BY YEAR(`year`) order by `year` ";
$publications2 = mysqli_query($link, $sorgu2);
while($a2 = mysqli_fetch_object($publications2))
{
$mount = explode('-', $a2->year);
$accyaz[$mount[0]] = $a2->total;
}
}
?>
- stackoverflow.com/q/2973202/1288198
- ERREUR sur la requête?
- Vous êtes très vulnérables vers SQL injection. L'utilisation des requêtes préparées et des variables de liaison ou au moins utiliser
mysqli_real_escape_string($link, $variable)
. Vous êtes plus susceptible d'obtenir ce message d'erreur parce que$user->title
a un'
en elle, et vous n'êtes pas échapper à vos variables. - pourquoi
{}
dans votre requête?user_id ='{$userid}'
- Tout d'abord, vous devez savoir qui de vos requêtes sont à l'origine de l'erreur.. du coup d'oeil rapide, j'ai pris, l'extraction d'un objet mysqli dans 4 séparer les instances. Une fois que vous avez trouvé le problème de requête, puis éditez votre post et nous pouvons l'examiner en profondeur.
- vérifier si!vide(fetchresult)){ <code>}else{<pas de message de liste>}, Le problème n'est pas de données dans la db
- Pour faire ce que @danielsmile dit, à suivre ici: stackoverflow.com/a/22662582/285587
Vous devez vous connecter pour publier un commentaire.
Aussi loin que votre erreur exacte est concerné l'un de votre requête à défaut, les mesures suivantes pourraient vous aider. Bien sûr vous semble double, mais voici certaines des choses que les adresses de votre question
Votre première requête doit être comme ça, sans accolades, bien sûr, jusqu'à ce que vous avez explicitement id enveloppé dans des accolades dans votre table.
D'autre part, vous êtes l'exécution de plusieurs requêtes que vous pourriez voulez envisager la vérification des erreurs si votre requête s'exécute correctement ou pas(à cause de la syntaxe colonnes d'erreur d'incompatibilité de nom de table incompatibilité de beaucoup plus de possibilités): faire une vérification d'erreur de ce type pour
while($a...)
partieTroisième je vois ce que vous obtenez
pub_id
faire une séparation par virgule liste de sorte que vous pouvez donner comme paramètre dans votre dernière requête qui est un long shot, pourquoi ne pas l'utiliser sous requête pour vousIN
clause de ce genre:pub_author
L'erreur vous indiquant se traduit par ceci: La requête échoue en quelque sorte, au lieu de l'exécution de la mysqli_query($link, $sorgu); ligne echo $sorgu, allez dans phpmyadmin et tester votre requête, si elle est mauvaise, le fixer dans phpmyadmin jusqu'à ce qu'il fonctionne et de le configurer dans le code correctement