anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Fr 13 Jun, 2025 15:07

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Sql Variable
BeitragVerfasst: Sa 28 Jul, 2007 00:00 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Hallo, kann mir jemand sagen wie ich eine variable in ein sql-update bekomme?

ich habs versucht aber es werden 0 zeilen im phphmyadmin angezeigt.

[php]<?php
require_once 'common.php';
page_header('Script-Editor');

$fn = 'test.php';

$sql = 'SELECT * FROM script';
$row = db_query($sql);
$sow = db_fetch_assoc($row);

switch ($_GET['op'])
{
case '':
output('<form action="'.$fn.'?op=create" method="post">
<input type="text" name="header" value="header1">`n
<input class=button type="submit" value="Rasse erstellen">',true);
addnav('',$fn.'?op=create');
break;
case 'create':
$lqs = 'UPDATE script SET header="'.$_POST['header1'].'"';
db_query($sql) or die(db_error($sql));
//Ausgaben
output("Änderungen wurden gespeichert`n`n");
break;
}
page_footer();
?>[/php]

Habe es auch schon mit INSERT INTO versucht ...

Sql befehl ist : header Varchar (50) NOT NULL

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 28 Jul, 2007 01:48 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
$lqs = 'UPDATE script SET header="'.$_POST['header1'].'"';
db_query($sql) or die(db_error($sql));

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 28 Jul, 2007 01:50 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
*lach* ich wollt grade neu posten, habe es ein wenig umgeschrieben...

[php]<?php
require_once 'common.php';
isnewday(2);
page_header('Script-Editor');

$fn = 'test.php';

$sql = 'SELECT * FROM script';
$row = db_query($sql);
$sow = db_fetch_assoc($row);

if ($_GET[op]==''){
if ($_GET[del]=='1') {
$sid = $_GET[id];
$sql = 'DELETE FROM `script` WHERE id=$id';
$row = db_query($sql);
if ($row != '1') output('Leider konnte die Löschung nicht durchgeführt werden.');
}
if ($_GET[add]=='1') {
$sql = 'INSERT INTO `script` (`name`,`url`,`id`) VALUES ("","'.$_POST[url].'","'.$_POST[texti].'")';
$row = db_query($sql);
if ($row != '1') output('Leider konnte die Erstellungen nicht durchgeführt werden.');
}
if ($_GET[edit]=='1') {
$name = $_POST[name];
$url = $_POST[url];
$id = $_POST[id];
$sql = 'UPDATE `script` SET `name` = "$name" url = "$url" id = "$id"';
$row = db_query($sql);
if ($row != '1') output('Leider konnte die Editation nicht durchgeführt werden.');
}
addnav('Script Editor');
addnav('Weltliches','village.php');
addnav('Admin Grotte','superuser.php');
addnav('Neu erstellen',$fn.'?op=neu');
addnav('Lies mich',$fn.'?op=lies');
$sql = 'SELECT * FROM `script`';
$row = db_query($sql);
output('<div align="center"><table border=0 cellpadding=2 cellspacing=1 bgcolor="#999999">',true);
output('<tr class="trhead"><td align="center"><b>Name</b></td><td align="center"><b>URL</b></td><td align="center"><b>Name/URL ändern</b></td><td align="center"><b>Ändern</b></td><td align="center"><b>Löschen</b></td></tr>',true);
output('<tr class="'.($i%2?'trdark':'trlight').'"><td align="center">',true);
output('$row[name]');
output('</td><td>',true);
output('$row[url]');
output('</td><td>',true);
output('<a href="'.$fn.'?op=naur$id=$row[id]">[ändern]</a>',true);
output('</td><td>',true);
output('<a href="'.$fn.'?op=aendern&id=$row[id]">[ändern]</a>',true);
output('</td><td>',true);
output('<a href="'.$fn.'?op=loesche&id=$row[id]">[löschen]</a>',true);
output('</td></tr>',true);
output('</table></div>',true);
addnav('',$fn.'?op=naur&id=$row[id]');
addnav('',$fn.'?op=aendern&id=$row[id]');
addnav('',$fn.'?op=loesche&id=$row[id]');
}
if ($_GET['op']=='aendern') {
$sql = 'SELECT `name`, `url`, `id` FROM `script`';
$row = db_query($sql);
$sow = db_fetch_assoc($row);
output('<form action="'.$fn.'?edit=1&id=$id" method="post">
Linkname : <input type="text" name="texti" value="$row[name]">`n
Linkurl : <input type="text" name="url" value="'.$fn.'?op=">`n
<input type="submit" value="Ändern / Speichern">
</form>',true);
addnav('',$fn.'?edit=1&id=$id');
addnav('Abbrechen',$fn.'');
}
if ($_GET['op']=='neu') {
output('<form action="'.$fn.'?add=1" method="post">
Linkname : <input type="text" name="texti">`n
Linkurl : <input type="text" name="url" value="'.$fn.'?op=">`n
<input type="submit" value="Ändern / Speichern">
</form>',true);
addnav('',$fn.'?add=1');
addnav('Abbrechen',$fn.'');
}
page_footer();
?>[/php]

Ok id und link werden in der db angezeigt. name aber nicht.
Und die Tabelle wird nicht angezeit. Also angezeigt schon aber ID fehlt usw.

I say HELP, please!!

Lg

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 28 Jul, 2007 11:07 
Offline
Großmeister
Großmeister

Registriert: Fr 01 Jul, 2005 18:41
Beiträge: 484
Wohnort: Saarbrücken
Geschlecht: Männlich
Ich weiß jetzt nicht ganz soo genau wo dein Problem ist, aber ich habe auf Anhieb einen kleinen Fehler gefunden:

[php]output('<a href="'.$fn.'?op=naur$id=$row[id]">[ändern]</a>',true); [/php]

Sollte wohl naur&id heißen. Zudem, wird dieses "naur" bei dir nicht abgerufen, ich sehe nur "ändern" und "neu".
Zudem steht da "$id = $_POST[id];", aber es wird nirgendwo eine ID eingetragen ;)
Du könntest das hiermit lösen:
[php]$id = db_insert_id(LINK);[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 28 Jul, 2007 11:54 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
naur kommt spaeter ich wollte erstmal die sachen zum erstellen und ändern vertighaben.

Aber das feld name in der tabelle in der db bleibt leer . Id und url werden angezeigt.

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 28 Jul, 2007 12:26 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
$_POST[name] wird nicht übergeben...

Du gibst zwar das an (mit $_POST[name])

[php]if ($_GET[edit]=='1') {
$name = $_POST[name];
$url = $_POST[url];
$id = $_POST[id];
$sql = 'UPDATE `script` SET `name` = "$name" url = "$url" id = "$id"';
$row = db_query($sql);
if ($row != '1') output('Leider konnte die Editation nicht durchgeführt werden.');
} [/php]

aber nirgendswo in den Formularen gibt es ein $_POST[name] (Bsp. beim Ändern):

[php]output('<form action="'.$fn.'?edit=1&id=$id" method="post">
Linkname : <input type="text" name="texti" value="$row[name]">`n
Linkurl : <input type="text" name="url" value="'.$fn.'?op=">`n
<input type="submit" value="Ändern / Speichern">
</form>',true); [/php]

Der Linkname wird unter texti gespeichert und ansonsten wird auch nirgens ein Eingabefeld mit name="name" gekennzeichnet.

Was mir auch gerade aufgefallen ist (vll hast du es auch so geändert, damit es vorläufig funktioniert (?)
Hier wird erst gar kein name übergeben, da der Wert leer ist:

[php]if ($_GET[add]=='1') {
$sql = 'INSERT INTO `script` (`name`,`url`,`id`) VALUES ("","'.$_POST[url].'","'.$_POST[texti].'")';
$row = db_query($sql);
if ($row != '1') output('Leider konnte die Erstellungen nicht durchgeführt werden.');
}[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 28 Jul, 2007 13:34 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
[php]if ($_GET['op']=='aendern') {
$sql = 'SELECT `name`, `url`, `id` FROM `script`';
$row = db_query($sql);
$sow = db_fetch_assoc($row);
output('<form action="'.$fn.'?edit=1&id=$id" method="post">
Linkname : <input type="text" name="texti" value="$row[name]">`n
Linkurl : <input type="text" name="url" value="'.$fn.'?op=">`n
<input type="submit" value="Ändern / Speichern">
</form>',true);
addnav('',$fn.'?edit=1&id=$id');
addnav('Abbrechen',$fn.'');
} [/php]

ist texti nicht der name o.O

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 28 Jul, 2007 14:55 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Ja, texti ist ein Element in dem Array POST... aber du versucht ein Element mit dem Namen 'name' aufzurufen und die in DB zu speichern... es existiert nicht, folglich wird kein Wert übergeben...

Entweder änderst du texti in name oder du nimmst $name=$_POST['texti']

Und noch nen Tippfehler:

$row = db_query($sql);
$sow = db_fetch_assoc($row);

sollte wohl row heißen..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 28 Jul, 2007 15:18 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
ich habe extra

$this->bbcode_second_pass_code('', '$sql =
$row =
$sow =
')

damit der code schoener ausieht^^

Habe es gemacht wie du sagtest. der name wird trotzdem nicht in der db angezeigt.

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 28 Jul, 2007 16:15 
Offline
Newbie

Registriert: Sa 28 Jul, 2007 15:00
Beiträge: 1
Wohnort: NRW / Hamm
LoGD: http://logd.lotgd.dyndns.biz/
Servus zusammen,
habe so eben mal eine "neue" Version hochgeladen. . . Ich weiss nicht, ob sie dem vorherigen genauso entspricht bzw. dem eigentlichen Ergebnis. Aber einfach mal anschauen und testen.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 08 Aug, 2007 13:41 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 11 Feb, 2006 19:39
Beiträge: 596
Wohnort: Stuttgart - Waiblingen
Geschlecht: Männlich
LoGD: http://logd.legend-of-vinestra.de/source
Skype: da-chosen-one
Langsam wird es zwar komisch, wenn ich es noch immer sage, aber praktisch kann man sich merken:

$row['blubb'] ist ein String. Demnach setzen wir die singlequotes.
$_GET['op'] ist auch ein String. Also auch ' setzen.
$_GET['blubb'] ist ein String, demnach ' setzen.
$session['user']['blubb'] ist ein String, etc.

define('blubb', 'login');
$session['user'][blubb] ist irgend ein dämliches Konstrukt, das ich nur einmal in eines meiner Scripte gesehen habe *rofl*
Ich weiß nichtmal, wie man es nennen sollte. Eine Konstante in einem $session String dingsbums, egal... :P
DA gehören keine ' hin, aber sonst immer.

Und das, funktioniert nur, weil die ' fehlen:
[php]Linkname : <input type="text" name="texti" value="$row[name]">`n[/php]

Er erkennt es nicht als String (weil es keiner ist), aber es *muss* einer sein (auch wenn LoGD standardmäßig keine Fehler ausgibt.

Richtig wäre:
[php]Linkname : <input type="text" name="texti" value="'.$row['name'].'">`n[/php]


MfG Draz

PS: Ich weiß, dass ich spät dran bin mit antworten xD

_________________
$this->bbcode_second_pass_code('', '(define-record-procedures choco-cookie
make-choco-cookie choco-cookie?
(choco-cookie-choco
choco-cookie-cookie))

(define Prinzenrolle
(make-choco-cookie choco-cookie-choco-standard (* 2 choco-cookie-cookie-standard)))')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 20 Aug, 2007 13:56 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
*rofl*

Manchmal bringt MySQL einen zum verzweifeln ;(
Mach grad so was fuer meine Hoelle..

und da habe ich folgenden ADD und SAVE eintrag ..

[php] $sql = "INSERT INTO ramius (id, by, auftrag, alevel, abelohnung) VALUES ('',
'".$_POST['by']."',
'".$_POST['auftrag']."',
'".$_POST['alevel']."',
'".$_POST['abelohnung']."'
)";
$sow = db_query($sql);
$row = db_fetch_assoc($sow);
if ($row != '1')
{
rawoutput('Auftrag konnte nicht erstellt werden.');
}
else
{
rawoutput('Auftrag erfolgreich erstellt.');
}[/php]

und

[php]
$sql = "INSERT INTO ramius (id, by, auftrag, alevel, abelohnung) VALUES ('','".$_POST['by']."','".$_POST['auftrag']."','".$_POST['alevel']."','".$_POST['abelohnung']."')";
db_query($sql);[/php]

habs auch so versucht:


[php]$sql = "INSERT INTO ramius (id, by, auftrag, alevel, abelohnung) VALUES ('',
'".$_POST[by]."',
'".$_POST[auftrag]."',
'".$_POST[alevel]."',
'".$_POST[abelohnung]."'
)";
$sow = db_query($sql);
$row = db_fetch_assoc($sow);
if ($row != '1')
{
rawoutput('Auftrag konnte nicht erstellt werden.');
}
else
{
rawoutput('Auftrag erfolgreich erstellt.');
} [/php]

und
[php]$sql = "INSERT INTO ramius (id, by, auftrag, alevel, abelohnung) VALUES ('','".$_POST[by]."','".$_POST[auftrag]."','".$_POST[alevel]."','".$_POST[abelohnung]."')";
db_query($sql);[/php]

kommt bei raus:

$this->bbcode_second_pass_code('', 'INSERT INTO ramius (id, by, auftrag, alevel, abelohnung) VALUES ('','MySql','Test','Test','Test')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'by, auftrag, alevel, abelohnung) VALUES ('','MySql','Test','11','50')' at line 1')

Natuerlich habe ich mir ein paar andere von meinen scripts angesehen , wo es funktioniert mit dem erstellen. Und dort steht es genau so wie ich es jetzt gepostet habe , ich weiß nicht weiter, wuerde mir bitte jemand helfen ? o_o

Ich danke schonmal fuer die antworten..

LG MySql

€;
Hat sich erledigt...Und ich danke fuer die vielen Antworten :lol:

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum