2010-12-21 3 views
0

Je l'utilise depuis longtemps et maintenant il a cessé de fonctionner. Je ne comprends pas pourquoi PHP change sur vous. Quelqu'un aide.Mes scripts PHP fonctionnant bien ne fonctionnent plus

Le problème est avec ces deux lignes:

$res = mysql_query("SELECT num FROM ywsite WHERE item='sitehits'", $db); 
$num = mysql_result($res,0,"num"); 

Voici le reste du script:

<?php 
    $res = mysql_query("SELECT num FROM ywsite WHERE item='sitehits'", $db); 
    $num = mysql_result($res,0,"num"); 
    $equals = $num + 1; 
    mysql_query("UPDATE ywsite SET num='$equals' WHERE item='sitehits'"); 
?> 
+1

Quelle erreur obtenez-vous? –

+0

Et quelle est l'erreur? –

+0

Et quel est exactement le problème? –

Répondre

4

Cela semble être une manière assez compliquée à augmenter un certain nombre. Il suffit de faire ceci:

UPDATE ywsite SET num = num + 1 WHERE item = 'sitehits' 

Si elle ne parvient pas utiliser mysql_error pour voir l'erreur. La cause d'erreur la plus probable est un nom de table ou de colonne incorrect.

+0

Je ne peux pas croire à quel point c'était simple. Certainement aller l'utiliser plus souvent. Merci :) – yanike

4

"Arrêt du travail" n'est pas une description du problème. Rien ne change juste sur toi. Si le code que vous avez écrit ne fonctionne plus, cela signifie que quelque chose d'externe sur lequel vous comptez a changé, comme la version de l'interpréteur PHP sur lequel vous l'utilisez ou, disons, un serveur MySQL auquel vous vous connectez.

  1. Vérifiez que MySQL est en cours d'exécution et que vous pouvez vous y connecter.

  2. Vérifiez que vous vous connectez réellement dans votre code. Vous dites "voici le reste du script", mais votre script n'inclut aucun code pour se connecter à une base de données avant de lui envoyer des requêtes. Si c'est tout le code qui existe, il y en avait plus et vous l'avez supprimé.

  3. Vérifiez que votre requête SELECT a renvoyé un résultat

    if (!$res) die("Error in SELECT query: " . mysql_error()); 
    
  4. Vérifiez que votre requête UPDATE a couru la même manière, en vérifiant la valeur de retour de mysql_query

  5. Enfin, vous n'avez pas besoin pour sélectionner la valeur actuelle à ajouter à cette valeur. Vous pouvez émettre une seule requête UPDATE.

    mysql_query("UPDATE ywsite SET num = num + 1 WHERE item = 'sitehits'") or die("Error updating: " . mysql_error()); 
    
Questions connexes