Skocz do zawartości

Dodanie wartości do tabeli account, dla odpowiedniego ID. php/sql


Matif

Rekomendowane odpowiedzi

Cześć.

Próbuję wszystkiego co mi wpadnie do głowy, na php nie znam się, ale posiłkuję się internetem.
mam coś takiego:

Tabela: accounts
Wiersz: premium_points
Dla użytkownika o nicku np. test


Chcę aby przy wartości ($status == 0)
Dodało użytkownikowi liczbę 20.


<?php
$name = test;
$kod=$_POST['kod']; 
$sms=$_POST['numer']; 
$email="gmail.com";
if($_POST['wyslane'])
{
$handle = fopen("https://mintshost.pl/sms.php?kod=$kod&sms=$sms&email=$email", 'r');
$status = fgets($handle, 90);

switch ($status) {
case 0:
echo "Kod jest niepoprawny";
break;
case 1:
echo "Kod jest poprawny";
break;
case 2:
echo "adres email jest nie poprawny";
break;
case 3:
echo "sms, kod lub email jest pusty";
break;
}



if ($status == 0) {
echo "<br />Konto zostalo doladowane kwota 20 pkt.";


$dbhost     = ""; //Your database domain
$dbuser     = ""; //Database username
$dbpassword = ""; //Database password
$db         = ""; //Database name


   
   $conn = mysql_connect($dbhost, $dbuser, $dbpassword);
   mysql_select_db($db);
   
   
   mysql_query("UPDATE accounts SET premium_points = premium_points + 20 WHERE name = $name");

   mysql_close($conn);
}
}

?>

To co zrobiłem oczywiście nie działa.
Mógłby ktoś poprawić? :)

Forum King of Avalon - kingofavalon.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Dla testu, później tylko przestawię na ($status == 1).
Nie będę wysyłał smsów co chwilę żeby sprawdzić czy wszystko działa :)
To co mi wysłałeś, to dodawanie punktów dla wszystkich użytkowników. A mi zależy żeby jednak dodało tylko jednemu, o danym account nicku.
I tego nie mogę "przeskoczyć"

Forum King of Avalon - kingofavalon.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli wkleję w SQL w phpmyadminie:

UPDATE `accounts` SET `premium_points` = `premium_points` +25 WHERE `name` = 'testowe'

To działa bez zarzutu.

Jeśli to samo wkleję do php

if ($status == 0) {
echo "<br />Konto zostalo doladowane kwota 20 pkt.";

$name		= "testowe";
$dbhost     = "xx"; //Your database domain
$dbuser     = "xx"; //Database username
$dbpassword = "xx"; //Database password
$db         = "xx"; //Database name


	
	$conn = mysql_connect($dbhost, $dbuser, $dbpassword);
	mysql_select_db($db);
	
	 
	mysql_query("UPDATE `accounts` SET `premium_points` = `premium_points` +25 WHERE `name` = 'testowe'");

	mysql_close($conn);
}

Nie działa.

Forum King of Avalon - kingofavalon.pl

Odnośnik do komentarza
Udostępnij na innych stronach

1. if ($status == '0') {

jaki jest status echo $status

2. te dane rozumiem że są poprawnie wpisane w pliku php

$dbhost = "xx"; //Your database domain
$dbuser = "xx"; //Database username
$dbpassword = "xx"; //Database password
$db = "xx"; //Database name

włącz błędy error_reporting (E_ALL);

albo zajrzyj do logów

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności