2016-06-03 17 views
1
$updateDATA = $con->query("UPDATE table1 SET 
table1.content = table2.content, 
table1.draftid = 0 
FROM table1 
LEFT JOIN table2 ON table2.id = data_table.draftid 
WHERE table1.id=". $dataID) or die($con); 

Der obige Code diesen Fehler ausgibt:Aktualisierung Tabelle mit bestimmten Inhalten aus einer anderen Tabelle

Catchable fatal error: Object of class mysqli could not be converted to string...

Ich denke, seine weil table2.content ein String ist und das nicht zitiert. Ich habe versucht, 'table2.content' hinzuzufügen, aber das hat auch nicht funktioniert ..... kann jemand bitte helfen?

Wenn es eine bessere Möglichkeit gibt, diese Abfrage zu schreiben, bin ich auch für Vorschläge.

EDIT

Ich aktualisierte meine Fehlermeldung. or die($con->error);

Es sagt jetzt, dass das Problem bei LINKER VERBINDUNG beginnt ... sagt mir, Syntax zu überprüfen. Können Sie eine Links-Verknüpfung für eine Aktualisierungsabfrage erstellen? Formatiere ich es richtig? Ich habe das noch nie zuvor gemacht.

+1

'oder sterben ($ Con-> Fehler);', '$ con' ist eine Instanz von mysqli und nicht erfolgreich in einen String umgewandelt werden kann .. Dies kann nicht behebe das Problem, aber es bringt dich zur nächsten Stufe – Dale

+0

, die mich weiter gebracht hat. Es heißt, dass das Problem bei LINKER VERBINDUNG beginnt .... können Sie einen Link beitreten für ein Update? Formatiere ich das richtig? Habe es noch nie gemacht – KDJ

+1

Weißt du ... Ich habe noch nie versucht, ein Update beizutreten, ich glaube nicht, dass es möglich ist, aber ich lasse es für einen Mysql-Guru, um einzutreten :) – Dale

Antwort

1

Die Syntax für die Aktualisierung mit Join ist ein bisschen anders als die von SELECT.

Siehe hier:

UPDATE multiple tables in MySQL using LEFT JOIN

+0

Ich hatte gerade LEFT JOIN nach SET statt vorher. Es bewegt und es hat perfekt funktioniert. Vielen Dank!!! – KDJ

0

erwartet String als Parameter übergeben, aber übergeben Sie $ con, die mysqli Objekt ist stattdessen. Schreiben

die($con->error) 
+0

lese update. Habe das schon gemacht. Es erzeugt einen neuen Fehler – KDJ

Verwandte Themen