PHP UPDATE komutunu kullanarak Sorunu

3 Cevap php

PHP ile benim qotwVote1a tablonun Vote1a alanını güncelleyerek biraz problem var duyuyorum. Eğer kodu bir göz atın lütfen, ve ben burada yanlış ne yapıyorum söyleyebilir.

$result = mysql_query("SELECT * FROM qotwVote1a WHERE QuestionId='".$questionId."' AND MemberId='".$id."'");

    while($row = mysql_fetch_array($result))
    {
    	$originalVote=$row['Vote1a'];
    	$newVote=$originalVote + $vote;
    	//echo ($newVote);
    }

$sql = <<<END
UPDATE qotwVote1a
SET Vote1a = '$newVote',
WHERE QuestionId = '$questionId' AND MemberId = '$id'
END;

mysql_query($sql);
if (mysql_error()) {
  die("Error executing query '$sql': " . mysql_error());
}

Ben bir hata var, bu kodu kullanarak:

QuestionID = '57 'AND MemberId =' zi'' "Hata sorgu yürütülürken 'UPDATE qotwVote1a SET Vote1a = '2': Eğer SQL sözdizimi bir hata var; hakkı için MySQL sunucu sürümü karşılık kılavuzunu kontrol yakın 'NEREDE QuestionID = '57' kullanmak için sözdizimi VE 3. satırda MemberId = 'zi'' "

Regards Zeeshan

3 Cevap

Sen sonra virgül $newVote. Bunu kaldırmak, ve şeftali-keskin olacak.

Ayrıca, tırnak sayıları sarmak gerekmez, ve sütun bir tamsayı ya da şamandıra türü ise bunu yapmayın. Aksi takdirde sadece yine sayılar, dönüştürülür için bu neden, bu yüzden büyük bir anlaşma değil.

UPDATE qotwVote1a
SET Vote1a = '$newVote'
WHERE QuestionId = '$questionId' AND MemberId = '$id'

Yanlış bulunuyor SET fıkra sonra MySQL sorguda bir virgül var. Yani bu deneyin:

$sql = <<<END
UPDATE qotwVote1a
SET Vote1a = '$newVote'
WHERE QuestionId = '$questionId' AND MemberId = '$id'
END;

Verilen sorgu hata veriyor sorgu değil gibi bazı kod eksik gibi görünüyor bulunuyor. Sorguda sorun "Vote1a = '2 '" ifadesi olsa sonra ekstra bir virgül olduğunu.