2013-02-06 5 views
-3

J'ai une erreur en disantappel à une mysql_affected_rows fonction membre() sur un non-objet

appel à une mysql_affected_rows fonction membre() sur un non-objet dans C: \ xampp \ htdocs \ initializr \ search.php à la ligne 189

lorsque je clique sur le bouton d'envoi.

if(isset($_POST['select'])) { 
    $studId = $_REQUEST['studid']; 

    foreach ($studId as $ch) { 
     $result = $mysqli->query("INSERT INTO tbl_tempCand (datetime, names) VALUES (CURRENT_TIMESTAMP(), '".$ch."')"); 
     //this is my line 189 error 
     if($row->mysql_affected_rows($result)==0) { 
      header("Location: registercand.php"); 
     } else { 
      echo "nothing happen"; 
     } 
    } 
} 

Pourquoi est-ce?

+0

Tout d'abord, s'il vous plaît ne pas utiliser les fonctions mysql_ *, ils est officiellement obsolète. Deuxièmement, votre requête semble ouverte aux attaques par injection SQL. Utilisez des instructions préparées ou des requêtes paramétrées à la place. –

Répondre

0

utilisez cette requête

$result = $mysqli->query("INSERT INTO tbl_tempCand (`datetime`, `names`) VALUES (CURRENT_TIMESTAMP(), '".$ch."')"); 
                ^// here was the problem 

datetime est un RÉSERVÉ MOT dans mysql et à cause de cela échoue requête. Si vous voulez utiliser ce genre de mots réservés comme colonne les citer à l'intérieur de cette ``

changement

if($row->mysql_affected_rows($result)==0) 

à

if($mysqli->affected_rows > 0) 
+0

il m'a eu la même erreur pointant vers if ($ row-> mysql_affected_rows ($ resultat) == 0) pas sur ma requête ... –

+0

@PotPot En fait votre requête échoue et il ne vous donne aucun résultat et à cause de cela il donne erreur ici 'mysql_affected_rows ($ result)' –

+0

alors que devrais-je faire, quand ma requête est réussie, il serait rediriger vers une autre forme? .. pls me donner quelques conseils monsieur ... –

Questions connexes