mySQL - Spalte hinzufügen
Frank Dell
- php
0 lulu0 MudGuard0 romy0 Sönke Tesch0 Frank Dell
Hallo,
in einer Tabelle soll eine neue Spalte angelegt werden. Ich bekomme es leider nicht hin.
Hier der Script-Ausschnitt:
$BEZEICHNUNG = "egal";
if ($new_row == "ALTER TABLE BILD\_DB
.BILDER
ADD $BEZEICHNUNG
INT NOT NULL")
echo "Hurra";
else
echo "Fehler";
Leider wird immer "Fehler" angezeigt;-(
Was mache ich falsch?
Viele Grüße
Frank Dell
Huhu Frank
Leider wird immer "Fehler" angezeigt;-(
Was mache ich falsch?
falsch ist eigentlich [1] nichts, allerdings machst Du (resp. das Skript) auch nichts.
Du möchtest doch einen SQL-Befehl und keinen Stringvergleich ausführen oder?
Viele Grüße
lulu
[1] wenn man von der Verwendung von ` an Stelle von ' einmal absieht
Hallo,
Hi,
in einer Tabelle soll eine neue Spalte angelegt werden. Ich bekomme es leider nicht hin.
Hier der Script-Ausschnitt:
$BEZEICHNUNG = "egal";
if ($new_row == "ALTER TABLEBILD\_DB
.BILDER
ADD$BEZEICHNUNG
INT NOT NULL")
echo "Hurra";
else
echo "Fehler";
1. Warum die ganzen `?
2. Das SQL-Statement wird nicht ausgeführt, es wird mit dem Wert der Variabe $new_row verglichen. Gleichheit liegt vermutlich nicht vor, also wird "Fehler" ausgegeben.
Andreas
Hallo,
in einer Tabelle soll eine neue Spalte angelegt werden. Ich bekomme es leider nicht hin.
Hier der Script-Ausschnitt:
$BEZEICHNUNG = "egal";
if ($new_row == "ALTER TABLEBILD\_DB
.BILDER
ADD$BEZEICHNUNG
INT NOT NULL")
echo "Hurra";
else
echo "Fehler";
Leider wird immer "Fehler" angezeigt;-(
Was mache ich falsch?
-->
$conn = pg_connect("", "", "", "", "bilder_db");
$sql = "ALTER TABLE BILDER
ADD COLUMN $BEZEICHNUNG
INT NOT NULL";
$result = pg_exec($conn, $sql);
if(!$result) echo "fehler";
else echo "hurra";
<--
so würde ich das machen, hab ehrlich gesagt nicht genau kapiert was du da geschrieben hast, aber denke du meintest das, korrigier mich wenn ich falsch liege
hope it helps
romy
Hallo,
in einer Tabelle soll eine neue Spalte angelegt werden. Ich bekomme es leider nicht hin.
$BEZEICHNUNG = "egal";
if ($new_row == "ALTER TABLEBILD\_DB
.BILDER
ADD$BEZEICHNUNG
INT NOT NULL")
echo "Hurra";
else
echo "Fehler";
Leider wird immer "Fehler" angezeigt;-(
Was mache ich falsch?
Es heißt nicht
echo "Fehler";
sondern
echo "Fehler: ".mysql_error();
Und -nur ganz nebenbei- wäre es vielleicht sinnvoll, Deinen Befehl auch an die Datenbank zu schicken (zum Beispiel mit mysql_query), anstatt die Variable $new_row mit dem Text "ALTER.." zu vergleichen :)
Gruß,
soenk.e
Dnke für die Tips, jetzt geht es.
So hab ich es gemacht:
Die Variable "$BEZEICHNUNG" wird aus einem Formular übergeben
$theTable_new_row = "ALTER TABLE BILDER ADD $BEZEICHNUNG VARCHAR(255)";
$resultTable_new_row = mysql_query($theTable_new_row, $mysql_link);
if (!$resultTable_new_row)
{
$fehlercode = mysql_error();
db_error( __FILE__ , __LINE__ , $fehlercode);
}
Eigentlich hätte ich da auch selber drauf kommen können. Aber wie das so ist. Der Auftraggeber drängt, der Zeitplan ist sowieso schon überzogen, man arbeit die Nacht durch und am Ende geht (fast) gar nichts mehr ;-(
Dann schläft man zwei Stunden und die Welt ist wieder schön ;-)
Danke nochmals.
Viele Grüße
Frank Dell