Garip MySQL / PHP sorunu: mysql sorgu yürütmek değildir ve hiçbir hata yoktur

0 Cevap php

Ben dışarı sıralamak mümkün olduğumu benim PHP web uygulaması, garip bir hata içine koştu. Php script, veritabanından bir satır getirir onu işler ve yeni bir sorgu serializes ve veritabanına satır geri yazar.

Bunu yapan kopyaladığınız kodu:

foreach($a as $key => $value)
{
    $a[$key]="'".mysql_real_escape_string($value)."'";
}
$a['lastUpdate']="$when";
//assembling request
$assignments=array();
foreach($a as $key => $value)
{
    $assignments[]="$key=$value";
}

$q="UPDATE wtfb2_villages SET ".implode(',',$assignments)." WHERE (id=${a['id']})";
logText($q);
logText(mysql_error());
$r=mysql_query($q) or die(__FILE__.':'.__LINE__.':'.mysql_error().':'.$q);
logText(mysql_affected_rows());
logText('Mysql error in query is: '.mysql_error()."\n");

Bu GÜNCELLEME görünüşte yürütür. mysql_error () boş bir dize verir. mysql_affected_rows her şey bittiğinde 1 tıpkı diyor. Ben phpmyadmin kullanarak tabloya bakarsanız Ama ben hiçbir şey değişti olduğunu gördüm.

Ben sorguda kendisini açmış onun:

UPDATE wtfb2_villages SET id='22',ownerId='56',villageName='Új falu',x='0',y='1',buildPoints='7.2226273148149',barracksLevel='0',archeryRangeLevel='0',stablesLevel='0',workshopLevel='0',townHallLevel='0',blacksmithLevel='0',goldmineLevel='1',wallLevel='0',spearmen='0',archers='0',knights='0',catapults='0',diplomats='0',spearmanLevel='0',archerLevel='0',knightLevel='0',catapultLevel='0',spearmenTraining='0',archersTraining='0',knightsTraining='0',catapultsTraining='0',diplomatsTraining='0',lastUpdate='2011-01-18 21:56:10' WHERE (id='22')

Ben sadece phpmyadmin doğrudan bu sorguyu kopyalayıp yapıştırın eğer onu çalıştırır ve ben tablodaki sonucu görebilirsiniz.

Tablo MyISAM motorunu kullanıyor. Yani hiçbir işlem ya da herhangi bir şey gibi.

Ben 2 saatten fazla bu soruna sıkışıp kaldım ve ben neler olup bittiğini öğrenmek mümkün değilim.

Bu, yaptığı tek sorgu. sorguları önce ve bu bir düzgün yürüttükten sonra.

Herhangi bir fikir?

0 Cevap