Hauptmenü

Untermenü

MySQLi - Eigenschaften

1. Obacht

Eigenschaften gibt es bei MySQLi nur, wenn man objektorientiert damit arbeitet! Beim prozeduralen Stil dagegen handelt es sich um Funktionen! Allerdings gibt es davon nicht so viele und die meisten davon sind nicht besonders interessant. Darum stelle ich euch nur mal die zwei Wichtigsten vor.

2. affected_rows

Hier muss man sehr genau unterscheiden. Denn diese Eigenschaft gibt es in der MySQLi- und(!) der MySQLi_STMT-Klasse. Daher ist ihre Verwendung auch unterschiedlich. Das Prinzip von mysql_affected_rows ist aber dasselbe.

MySQLi-Klasse


// Objektorientiert
$mysqli = new mysqli('host''user''pw''db');
$mysqli -> query('UPDATE bla SET blubb = 1 WHERE id > 20');
echo $mysqli -> affected_rows;
// Prozedural
$mysqli mysqli_connect('host''user''pw''db');
mysqli_query($mysqli,'UPDATE bla SET blubb = 1 WHERE id > 20');
echo mysqli_affected_rows($mysqli);

MySQLi_STMT-Klasse


// Objektorientiert
$mysqli mysqli_connect('localhost''root''''banken');
// Prepared Statement
...
echo $stmt -> affected_rows;

// Prozedural
$mysqli mysqli_connect('host''user''pw''db');
// Prepared Statement
...
echo mysqli_stmt_affected_rows($stmt)

3. insert_id

Gibt den Wert des Primary Keys zuück nach einer INSERT-Anweisung. Das entspricht dem mysql_insert_id der MySQL-Erweiterung.


// Objektorientiert
$mysqli  mysqli_connect('localhost''root''''banken');
$query   'INSERT INTO ...';
$mysqli -> query($query);
echo $mysqli -> insert_id;

// Prozedural
$mysqli mysqli_connect('host''user''pw''db');
$query   'INSERT INTO ...';
mysqli_query($stmt,$query);
echo mysqli_insert_id($stmt);

4. Da fehlen noch welche!

Ja, und zwar die zur Fehlerbehandlung. Da das aber ein eigenes Kapitel ist, habe ich die hier unterschlagen.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt