Sponsor-Board.de

Normale Version: Datenbank Fehler, mysqli
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hey,

Ich habe grad mit MYSQLi was testen wollen wobei mir was sehr merkwürdiges aufgefallen ist:

PHP-Code:
$stmt $mysqli->prepare("UPDATE villages SET speer = ?, schwert = ?, bogen = ?, axt = ?, leicht = ?,scout = ?,katapult = ? WHERE number = ?");
$stmt->bind_param"iiiiiiii"$speer,$schwert,$bogen,$axt,$leicht,$scout,$kata$session); 
$stmt->execute();
$stmt->close(); 


z.B Speer enthält 5

Darauf folgt dann die Abfrage:

PHP-Code:
$stmt $mysqli->prepare("SELECT speer, schwert, axt, bogen, leicht, scout,katapult FROM villages WHERE number = ?");
$stmt->bind_param"i"$session); 
if (
$stmt->execute() == false) {
    echo 
"Ein Fehler ist aufgetreten!";
    echo 
$mysqli->errno.'-'.$mysqli->error;
    
$stmt->close();
} else {
$stmt->bind_result($army_speer,$army_schwert,$army_axt,$army_bogen,$army_leicht,$army_scout,$army_katapult);
$stmt->fetch();
$stmt->close(); 


So nun möge man meinen es müsste bei $army_speer 5 rauskommen?

Die kahm auch allerdings wurd die 5 nicht in die Datenbank geschrieben. Ups?

Die spalte Speer ist immernoch bei 1103.
Hatt jemand von euche eine Idee?

Es gibt bei keinen MYSQLi updates oder selects fehlermeldungen.

Danke

Neo ich kann gerne versuchen zu helfen via TeamViewer.

Bin kein absoluter Profi, doch arbeite seit Jahren mit MySqli.
So kann ich keine Fehler erkennen.
In mysqli must du den error auch auslesen. Im zweiten Code von dir machst du es ja auch Wink

Code:
mysqli_stmt::$error


Um dir die arbeit abzunehmen, kannst du auch einfach einen Wrapper schreiben Wink

Sicher das hier kein Fehlermeldung kommt? Biggrin

Code:
$stmt = $mysqli->prepare("UPDATE villages SET speer = ?, schwert = ?, bogen = ?, axt = ?, leicht = ?,scout = ?,katapult = ? WHERE number = ?");
$stmt->bind_param( "iiiiiiii", $speer,$schwert,$bogen,$axt,$leicht,$scout,$kata, $session);
if (!$stmt->execute()) {
    echo $stmt->error;
}
$stmt->close();


Wenn du jetzt erst mit mysqli anfängst, empfehle ich dir gleich PDO zu verwenden (Ist wesentlich flexibler) Wink

Ich habe es nun behoben bekommen, aber ich kann nicht ausagen woran es nun genau lag.
Da es andere funktionen nicht beinträchtigt hatt bzw hatte.

Danke aber für das Hilfs angebot.
Referenz-URLs