2010-10-29 18 views
0

Vous avez des problèmes avec et requête de mise à jour je continue à obtenirrequête UPDATE avec des déclarations préparées

Warning: Crud::update() [crud.update]: Property access is not allowed yet in crud.php on line 60 

Ceci est mon code

$stmt = $this->mysql->prepare('UPDATE links SET title = ?, url = ?, comment = ? WHERE id = ?'); 
$stmt->bind_param('sssi',$title,$url,$comment,$id); 
$stmt->execute(); 
$stmt->close(); 
on line 60 return $stmt->affected_rows; 

googlé et seulement trouvé une référence dans la documentation php dans un commentaire, mais Je ne pouvais pas comprendre le commentaire:/

+0

À quelle ligne se rapporte l'avertissement? Aucune des lignes que vous montrez, je pense. –

+0

vraiment désolé à propos de cette édition maintenant – andrei

Répondre

0

Etes-vous sûr que l'étape est vraie? cette erreur se produit si la déclaration n'a pas été préparée correctement, ou pas du tout préparée, selon la documentation de php. "Pour éviter cela, assurez-vous toujours que la valeur de retour de l'instruction" prepare "est vraie avant d'accéder à ces propriétés."

Hope this helps hourras

+0

oui c'est le commentaire que j'ai lu sur php.net mais je ne l'ai pas compris – andrei

+0

Avez-vous testé la requête par lui-même? je veux dire directement à DB? et les valeurs que vous passez à l'énoncé sont OK? je suppose que la documentation se réfère à cette requête – Ron

+0

est le problème correct semble être avec return $ stmt-> affected_rows; très bizarre aucune idée pourquoi. – andrei

0

Voulez-vous

$stmt->affected_rows(); 

contre

$stmt->affected_rows; 

?

Je ne suis pas sûr.

Sinon, vous pouvez vérifier qu'il n'y a pas eu d'erreur mysql avant de vérifier les lignes affectées.

+0

le problème semble être que j'ai fermé la déclaration avant que je demande les affected_rows – andrei

0

Le problème était que j'ai utilisé $ stmt-> close(); avant d'utiliser $ stmt-> affected_rows; erreur stupide vraiment. C'est ce que je reçois pour le codage tard dans la nuit.