| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| Erfahrener Benutzer Registriert seit: 17.08.2004
Beiträge: 213
![]() | Du musst den entsprechenden Tabellennamen oder den verwendeten Alias vor die Feldnamen setzen. Ansonsten können die Felder den verschiedenen Tabellen nicht zugeordnet werden. Also bsp. statt Code: forum_last_post = LAST_INSERT_ID(),
forum_last_thread = ".$new_thread_id.",
subboard_post_number = subboard_post_number + 1,
subboard_thread_number = subboard_thread_number + 1,
Code: com_forum_list.forum_last_post = LAST_INSERT_ID(),
com_forum_list.forum_last_thread = ".$new_thread_id.",
com_subboard_list.subboard_post_number = com_subboard_list.subboard_post_number + 1,
com_subboard_list.subboard_thread_number = com_subboard_list.subboard_thread_number + 1,
Das es mit separaten Statements für jede Tabelle funktioniert ist einfach zu erklären, da es nur eine Tabelle gibt, auf die sich das Statement beziehen kann und die Tabelle in der die sich betroffenen Felder befinden damit eindeutig ist. In der MySQL-Dokumentation gibt es ein Beispiel für die Multiple-Table Syntax eines UPDATE-Statements, siehe Zitat:
| |
| | |
| | ||||
| Gast
Beiträge: n/a
| Zitat:
Zitat:
| |||
|
| | |
| Erfahrener Benutzer Registriert seit: 17.08.2004
Beiträge: 213
![]() | Die Zuordnung der Felder wird sich wie bei einem SELECT verhalten, bin aber davon ausgegangen das Felder in verschiedenen Tabellen identisch benannt wurden. Ich gebe zu, dass ich mir die Fehlermeldung nicht sooooo ganz genau angeschaut habe |
| | |
| | |
| Gast
Beiträge: n/a
| Also Problem habe ich jetzt geloest indem ich mehrere Abfragen an MySQL durchgefuehrt habe. Das unpraktische daran ist, das ich, da ich Daten aus den Tabellen brauche, aber Update nur die eine Tabelle lesen und schreiben kann, ich noch eine Menge SELECTs ausfuehren musste, um das hinzubekommen. Gibt es da eine bessere Moeglichkeit? Wie gesagt, kein Update auf mehrere Tabellen bei dem Server (v3.2..) nicht moeglich Quelltext: Code: /*update forum*/
$query = "
UPDATE
com_forum_list
SET
com_forum_list.forum_post_number = com_forum_list.forum_post_number + 1,
com_forum_list.forum_thread_number = com_forum_list.forum_thread_number + 1,
com_forum_list.forum_last_poster = ".$session->user_id.",
com_forum_list.forum_last_post_at = NOW(),
com_forum_list.forum_last_post = LAST_INSERT_ID(),
com_forum_list.forum_last_thread = ".$new_thread_id."
WHERE
com_forum_list.forum_id = ".$_GET['forum_id']."
";
if (!$result = mysql_query($query))
{
mdie("mysql error(3): ".mysql_error());
}
/*update subboard*/
$query = "
SELECT
forum_parent
FROM
com_forum_list
WHERE
forum_id = ".$_GET['forum_id']."
";
if (!$result = mysql_query($query))
{
mdie("mysql error(4): ".mysql_error());
}
$temp = mysql_fetch_assoc($result);
$forum_parent = $temp['forum_parent'];
$query = "
UPDATE
com_subboard_list
SET
com_subboard_list.subboard_post_number = com_subboard_list.subboard_post_number + 1,
com_subboard_list.subboard_thread_number = com_subboard_list.subboard_thread_number + 1,
com_subboard_list.subboard_last_poster = ".$session->user_id.",
com_subboard_list.subboard_last_post = LAST_INSERT_ID(),
com_subboard_list.subboard_last_post_at = NOW(),
com_subboard_list.subboard_last_thread = ".$new_thread_id."
WHERE
com_subboard_list.subboard_id = ".$forum_parent."
";
if (!$result = mysql_query($query))
{
mdie("mysql error(5): ".mysql_error());
}
/*update board*/
$query = "
SELECT
subboard_parent
FROM
com_subboard_list
WHERE
subboard_id = ".$forum_parent."
";
if (!$result = mysql_query($query))
{
mdie("mysql error(6): ".mysql_error());
}
$temp = mysql_fetch_assoc($result);
$subboard_parent = $temp['subboard_parent'];
$query = "
UPDATE
com_board_list
SET
com_board_list.board_post_number = com_board_list.board_post_number + 1,
com_board_list.board_thread_number = com_board_list.board_thread_number + 1,
com_board_list.board_last_poster = ".$session->user_id.",
com_board_list.board_last_post = LAST_INSERT_ID(),
com_board_list.board_last_post_at = NOW(),
com_board_list.board_last_thread = ".$new_thread_id."
WHERE
com_board_list.board_id = ".$subboard_parent."
";
if (!$result = mysql_query($query))
{
mdie("mysql error(7): ".mysql_error());
}
/*update user data*/
$query = "
UPDATE
page_user_data
SET
page_user_data.user_post_number = page_user_data.user_post_number + 1,
page_user_data.user_thread_number = page_user_data.user_thread_number + 1
WHERE
page_user_data.user_id = ".$session->user_id."
";
if (!$result = mysql_query($query))
{
mdie("mysql error(8): ".mysql_error());
}
|
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| PHP Array in MYSQL Tabellen schreiben | Matt | Datenbanken | 1 | 26.02.2008 19:43 |
| Update über zwei Tabellen | tekknotrip | Datenbanken | 2 | 26.02.2007 16:25 |
| Zeilen aus mehreren Tabellen löschn mit Bezug auf eine Table | Riks | Datenbanken | 3 | 25.02.2007 20:17 |
| Lost connection to MySQL server during query in ... ? | Alpha Centauri | Datenbanken | 0 | 24.10.2005 11:09 |
| verschiedene Query Ergebnisse in MySQL 4.0.x und 4.1.x | Datenbanken | 3 | 18.09.2005 15:57 | |
| Suche Tipps für Persormance-Steigerung (Geld für Nützliches) | Beitragsarchiv | 18 | 16.08.2005 10:57 | |
| einfache mysql abfrage und mysql update haut nicht ganz hin | djrace | PHP Tipps 2005-2 | 6 | 12.08.2005 15:28 |
| Update in mysql funzt nicht | maeck | PHP Tipps 2005-2 | 4 | 27.06.2005 22:52 |
| Datumssortierung funktioniert bei MySQL nicht richtig | PHP Tipps 2005 | 2 | 01.04.2005 14:00 | |
| Abfrage funktioniert unter MySQL aber nicht unter MS SQL | Schiedsrichter | Datenbanken | 2 | 27.01.2005 15:43 |
| MySQL UPDATE Befehl funktioniert nicht | PHP Tipps 2005 | 6 | 24.01.2005 15:03 | |
| php / Mysql Update auf neuste Version | PHP Tipps 2007 | 5 | 05.01.2005 19:34 | |
| Problem: MySQL Query funktioniert nicht. Wieso? | PHP Tipps 2004-2 | 3 | 24.12.2004 13:58 | |
| [Erledigt] Selectanfrage an eine Datenbank,aber aus mehreren Tabellen | Datenbanken | 2 | 26.10.2004 07:23 | |
| [Erledigt] keine tabellen in mysql | Datenbanken | 0 | 31.08.2004 11:22 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| mysql update query, mysql update mehrere tabellen, mysql query update, mysql update, update query, mysql update 2 tabellen, update mehrere tabellen, mysql update über mehrere tabellen, mysql php update query, php mysql update query, mysql mehrere updates in einer abfrage, query update, $query = \update, php mysql query update, http://www.php.de/php-fortgeschrittene/15495-mysql-update-query-mit-mehreren-tabellen-funktioniert-nicht.html, mysql update zwei tabellen, update über mehrere tabellen, update query mysql, mysql mehrere updates, php mysql update mehrere tabellen |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.