Insert in MySQL und sofortiges Select

bauchinj

Erfahrenes Mitglied
Hallo,

ich mach ein INSERT in eine MySQL-Tabelle und sofort ein SELECT drauf (zum entwickeln ohne WHERE clause). Hab den Effekt, dass der Insert tadellos funktioniert, beim SELECT alle Einträge angezeigt werden bis auf den neuen. Gib ich den (exakt selben) sql in phpmyadmin ein, so ist der Eintrag drinnen.

Bei einem Reload wird der nächste Eintrag gemacht, der vorher nicht angezeigte Eintrag ist plötzlich da, aber der neueste wieder nicht. Hab gedacht, es liegt vielleicht an einer Verzögerung, dass ev. der INSERT eine Weile benötigt - hab dewegen ein sleep eingebaut, brachte aber auch keine Lösung. Des weiteren wird der INSERT auch nicht in mysql-slow.log geloggt.

Glaube, dass hat aber was mit dem Server zu tun. localhost auf meinem Rechner funktioniert der exakt gleiche Code wie gewünscht, am Server gibts dann aber das oben beschriebene Problem.

(verwende dafür noch MySQL 5.1, kann auch nicht umgestellt werden.)
 
PHP:
$sql = "INSERT INTO `testtable` (`name`) VALUES ('".$testname."')";
mysql_query($sql);

sleep(5);

$sqlSel = "SELECT * FROM `testtable`";
$res = mysql_query($sqlSel);
while($row = mysql_fetch_array($res)){
   echo $row['id']." # ."$row['name']."<br>";
}

id ist autoincrement.

wenn ich "SELECT * FROM `testtable`" direkt in phpmyadmin eingebe, erhalte ich das erwartete Ergebnis.
 
hm...

auf das hab ich auch schon gedacht, aber dann müsste doch immer das gleiche Ergebnis kommen, es ist aber immer neu (n-1).

Könnte man einen "MySQL-Cache" mittels php deaktivieren?
 
Zunächst hast du einen Syntax - Fehler:

PHP:
echo $row['id']." # ."$row['name']."<br>";

sollte wohl eigentlich so aussehen:

PHP:
echo $row['id']." # ".$row['name']."<br>";

Ich würde das Ganze sowieso in Funktionen packen, dann kannst dir das sleep mit den 5 Sekunden sparen...

EDIT: Ich würde das echo auch eher so lösen:

PHP:
echo"{$row['id']} # {$row['name']}<br>";

spart Tipparbeit und ist übersichtlicher als das ständige unterbrechen und erweitern des echo""...
 

Neue Beiträge

Zurück