anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Sql Variable https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=3845 |
Seite 1 von 1 |
Autor: | MySql [ Sa 28 Jul, 2007 00:00 ] |
Betreff des Beitrags: | Sql Variable |
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 |
Autor: | anpera [ Sa 28 Jul, 2007 01:48 ] |
Betreff des Beitrags: | |
$lqs = 'UPDATE script SET header="'.$_POST['header1'].'"'; db_query($sql) or die(db_error($sql)); |
Autor: | MySql [ Sa 28 Jul, 2007 01:50 ] |
Betreff des Beitrags: | |
*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 |
Autor: | Taikun14 [ Sa 28 Jul, 2007 11:07 ] |
Betreff des Beitrags: | |
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] |
Autor: | MySql [ Sa 28 Jul, 2007 11:54 ] |
Betreff des Beitrags: | |
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. |
Autor: | Naria [ Sa 28 Jul, 2007 12:26 ] |
Betreff des Beitrags: | |
$_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] |
Autor: | MySql [ Sa 28 Jul, 2007 13:34 ] |
Betreff des Beitrags: | |
[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 |
Autor: | Naria [ Sa 28 Jul, 2007 14:55 ] |
Betreff des Beitrags: | |
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.. |
Autor: | MySql [ Sa 28 Jul, 2007 15:18 ] |
Betreff des Beitrags: | |
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. |
Autor: | Kevzi [ Sa 28 Jul, 2007 16:15 ] |
Betreff des Beitrags: | |
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. |
Autor: | Drazaar [ Mi 08 Aug, 2007 13:41 ] |
Betreff des Beitrags: | |
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... ![]() 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 |
Autor: | MySql [ Mo 20 Aug, 2007 13:56 ] |
Betreff des Beitrags: | |
*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 ![]() |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |